Finder 또는 데스크탑에서 shift +command + . 키를 누르면 해당 폴더에 숨겨진 파일과 하위 폴더가 스르륵 나타납니다.
소스트리라는 것을 써보자.
처음 들어갔을 땐 저 git-exercise도 없는 텅텅 빈 상태이다.
새로 만들기 > '로컬 저장소 생성' 클릭
경로는 터미널에서 폴더 하나 생성했다.
mkdir git-exercise 폴더 생성 > 생성하기 버튼
소스트리에서 master를 main으로 바꾸는 방법
- master이름 우클릭 해서 이름바꾸기
- 설정 > 원격 > 설정파일편집 > 텍스트 추가하기
- 터미널에서 git branch -M main 으로 바꾸기
오른쪽 상단에 설정을 눌러 원격 저장소 추가
이름은 origin으로 설정하고 , 새로 만든 깃헙 레포지토리의 경로를 입력한다.
푸시할 시 이 경로로 결과물이 업로드 된다.
일단 git-exercise 폴더에 a.txt 파일을 추가한다.
mac은 터미널로 추가해야해서
echo hello > a.txt 를 입력해서 hello라는 내용이 담긴 a.txt 제목인 파일을 추가한다.
파일을 열어 Int numOfStudents = 33; 이라는 숫자를 적어두고 저장한다.
그리고 파일상태로 다시 가보면
a.txt라는 파일이 노란색으로 표시되어 있는 것을 확인할 수 있다.
문서 수정 사항이 있을 시 노란색으로 변경되며,
우측에는 내가 실습하면서 수정했던 기록들이 남게된다.
아래 부분을 보면, 커밋 메세지를 남기는 부분이 있다
코멘트를 적은 다음 커밋을 누르면
푸시 아이콘에 1이라는 표시가 생기고
코멘트를 달아 상태를 올려 커밋한 내용은 사라진다.
커밋하는 방법
- 이메일 입력하고 내용 적어서 커밋 누르기
- feat : 를 많이 사용함 개발자들이, 그리고 커밋 메세지 깔끔하게 적는 것도 중요함.
이름은 오리진 경로
위에 아이콘 푸시를 눌러도 되지만 상단에 저장소 > 푸시를 눌러도 똑같음
푸시를 눌러보자.
이 전에 설정해두었던 이름(origin)과 원격 저장소 경로가 보이며,
현재 만들어 둔 브랜치는 없기 때문에 바로 main으로 푸시하기를 누르면
깃헙 홈페이지에 올라가 있는 것을 확인해 볼 수 있다.
branch 실습
브랜치에서 우클릭하여 새 브랜치를 만든다.
브랜치 명은 지금 내가 하고자 하는 것이 명확하게 들어나게 네이밍 해야 한다.
나는 132-num-of-student 라는 이름의 브랜치를 만들었고,
a.txt 의 메모장을 다시 켜서 Int numOfStudents2 로 바꾸어 다시 저장하게 되면
초록색으로 표시된 곳에 내가 수정한 내용을 추적해주는 것을 볼 수 있다.
Branch Push하기
브랜치가 생긴 것을 확인할 수 있으며, 깃헙 홈페이지에서도 main 말고 132-num-of-student 브랜치가 있는 것을 확인할 수 있다.
이렇게..
아무튼 저기서 푸시를 누르면
132-num ... 브랜치에서는 변경 과정이 남았고, a.txt에서도 변경된 내용이 적혀있지만,
깃헙 홈페이지에서는
브랜치를 main 에서 132로 변경하면 내가 변경했던 내용이 들어가 있다.
브랜치는 원본을 보존하기 위하여 사용한다고 할 수 있겠다.
비교하자면 ctrl + C 와 같이 임시 저장소 같은 느낌이라고 생각하면 편할 것 같다.
(6시간 전인 이유는 내가 아까 전에 실습하다가 그 뒤로 복습하면서 제대로 푸시 안해서 그렇다. )
하지만 여기서 merge 라는 것을 해주는데, 이것은 합병을 의미한다.
브랜치에서 수정한 내용을 반영하여 합친다는 말로 이해하면 될 것 같다.
무조건 브랜치를 main 상태로 바꿔놓은 다음
merge 실행해 줍니다.
그럼 브랜치를 메인으로 설정해서 추적한 것을 보면 내가 수정한 내용이 반영된다는 것을 알 수 있다.
그 다음 마지막으로 또 푸시 해주면
깃헙 메인에서도 변경 사항이 적용된 것을 볼 수 있다!!!!!
+ 브랜치 보는 법도 나중에 검색해보기
Intellij에서 레포지토리 만들기
새로운 프로젝트를 생성한 다음
상단 VSC > Create Git Repository 클릭
레포지토리에 넣을 프로젝트 선택
이런 경고문이 뜬다. yes
Git > Manage Remotes...
깃헙 홈페이지에서 생성한 레포지토리의 주소
+ 여기서 깃허브의 이메일과 비밀번호를 입력하라고 할 수 있는데 (난 처음이라 뜬 듯)
토큰 값을 입력하는 것이며, 발급 받는 것은 팝업창에 있기 때문에 안내대로 발급 받은 후 입력하면 된다.
생성된 파일을 모두 선택 후
Git > Add
Commit 창으로 들어가 push할 파일들을 모두 체크해주고 커밋 코멘트 작성 후 commit
커밋 하기 전에는 master에서 main으로 변경이 불가능 했지만 커밋 후에는 가능하기 때문에
바로 까먹지 말고 master에서 main으로 사진과 같이 rename 해준다.
그다음 푸쉬
그럼 생긴다.
이후에는 브랜치를 이용하여 push
먼저 브랜치를 생성한다.
브랜치 사용법은 sourcetree와 같기 때문에 간략히 적음
새롭게 추가할 내용을 작성 혹은 파일 생성 후 브랜치를 새로 생성한 test-branch로 변경한다.
main -> test-branch 변경 후 커밋
하단 Git 창, 현재 상태를 나타내며 현재 test-branch에서 Test 파일 생성 이라는 커밋 메세지를 남김.
merge 하는 단계로
생성한 test-branch에서 main 브랜치로 변경한 다음 (꼭!!!!!!! 거쳐야 하는 과정)
main 상태에서 test-branch > Merge 'test-branch' into 'main' 합병 해준다.
그리고 마지막 단계로 푸쉬!
분명 merge 했는데 왜 안 뜨지 싶으면 한번 더 푸쉬를 해보세여
그러면 내가 브랜치를 이용하여 추가한 파일 내용이 정상적으로 업로드 되어 있는 것을 볼 수 있다.
java 입력
Happy new year -> 한글자 한글자 씩
CS -> computer science
한글자씩 데이터 읽기 : InputStreamReader
HEAP 영역
- heap이라는 알고리즘으로 되어 있는 저장소 (이진트리? 나중에 설명해주신대요)
Stack
Static
주석
// : 한 줄 주석
/* ~ */ : 여러 줄 주석
* InputStreamReader -> 한 글자씩 읽는다.
- 때문에 입력값에 abcd를 입력해도 아스키코드 값인 97이 나온다. 심지어 String 으로 읽음
* BufferedReader -> 한 문장 (한 줄을) 읽는다.
문제1
InputStreamReader는 내장 라이브러리 일까요 외부 라이브러리일까요 혹은 프레임웍일까요?
1 내장 (답)
2 외장
3 프레임웍
버퍼
buffer - 임시 저장 공간
ctrl + c → 임시 저장공간
public class BufferedReaderEx { public void readALine() { InputStreamReader is = new InputStreamReader(System.in); BufferedReader br = new BufferedReader(is); // 카트 가지고 오기 } } |
public class BufferedReaderEx { public void readALine() throws IOException { InputStreamReader is = new InputStreamReader(System.in); BufferedReader br = new BufferedReader(is); // 카트 가지고 오기 System.out.println("line1 = " + br.readLine()); System.out.println("line2 = " + br.readLine()); } } |
결과
100 200 100200 |
300이 나올줄 알았는데 200100 ?
->
public void plusTwoNumbers() throws IOException { InputStreamReader is = new InputStreamReader(System.in); BufferedReader br = new BufferedReader(is); // 카트 가지고 오기 System.out.println(br.read() + br.read()); } |
결과
100 97 200 |
CS
숫자 두개 100, 200을 입력 했지만 위 코드에서 97이 나오는 이유
답: 97
해설 : 200을 입력 받기 전에 출력이 작동 해서 97이 나오고 끝나버림
public class ScannerEx { public void plusTwoNumbers(int val1, int val2) { } public void readTwoNumbersAndPlus() { } } |
BufferedReader → 중장비
Scanner → 자가용
public class ScannerEx { public void plusTwoNumbers(int val1, int val2) { } public void readTwoNumbersAndPlus() { // 숫자 2개 입력 받기 Scanner sc = new Scanner(System.in); System.out.println(sc.nextInt() + sc.nextInt()); } } |
public class ScannerExTest { public static void main(String[] args) { ScannerEx se = new ScannerEx(); se.readTwoNumbersAndPlus(); } } |
'study' 카테고리의 다른 글
(230421) Stack과 Heap / 지역변수 / 멤버변수 (0) | 2024.07.25 |
---|---|
(230420) Java - 변수 / Code-up 문제 풀이 (0) | 2024.07.25 |
(230418) JAVA, Intellij 입문2 (0) | 2024.07.25 |
(230417) 각종 프로그램 가입, intellij 입문! (0) | 2024.07.25 |
(220118) 스프링 입문 공부일지 (0) | 2024.07.25 |