<Branch란?>
" 같은 폴더 다른 세상"
- branch에서 뭘하든 master에는 적용이 되지 않음
- 분할된 작업을 진행할 수 있음!
- 즉, Git을 쓰는 이유가 됨
1. Branch 생성
git checkout -b (branch 이름)
# git checkout -b fix-mnist
- 작업의 명칭으로 branch 생성해주는 것이 좋음
2. 폴더 생성 및 수정작업
hello.txt를 만들고 commit 해보면..
3. 브랜치를 master branch로 변경하고 확인해보면
- hello.txt는 없는 것을 확인할 수 있음
4. 브랜치 삭제
- master 브랜치에서 진행
git branch -D fix-mnist
< Branch에서 소스파일 수정하고 확인하기 >
1. 브랜치 생성
2. 수정할 파일 확인
3. 원하는 편집기(vim, emacs, nano, 등으로 파일 수정하기
- nano로 실습
nano mnist/main.py
- 수정
- mac에서 nano 편집기 사용법
(1) 저장하기 : control + o
(2) 나가기 : control + x
4. 소스 파일 수정한 내용 확인하기
git diff
5. commit 할 준비
(1) git status 명령어를 통해 "not staged" 확인
(2) git add 명령어 실행
git add mnist/main.py
(참고) add 취소
git reset
6. commit하기
git commit -m "수정한 내용"
7. git show 명령어를 통해 commit이 잘 되었는지 확인
8. git status 명령어를 통해 현재 소스파일 상태 확인하기
- "nothing to commit, working tree clean" 확인
== 현재 변화분도 없고 commit할 것이 없음
(참고) 서명과 함께 commit
git commit -sm "커밋 메시지"
- "-s"를 함께 넣어 명령 실행
- git show를 실행하면 아래와 같이 "Signed-off-by :~~"가 표시됨
- Why 사용? license에 관련하여 인식하였음을 표시
- 실제로는 "Contributor License Agreements" 많이 사용
(https://opensource.google/documentation/reference/cla) (https://cla.developers.google.com/clas)
(참고) commit 수정하기
- 가장 최신 commit만 수정 가능
- 변경분을 추가하지않고 메시지만 추가할 수 있고, 수정하는 순간 commit ID 도 변경됨
git commit --amend
(참고) commit 삭제하기
- 최상위 commit부터 지울 수 있음(중간 X)
# 생성한 commit 정보 확인하기
$ git log --oneline -3
# 최상위 commit부터 첫번째(1) 내용 삭제하기
$ git reset --hard HEAD~1
< Pull-Requset 하는 과정>
1. git branch 명령어를 통해 branch 확인하기
2. Fork 저장소에 업로드에서 commit 제출(pull-request) 준비하기 (push 하기)
git push origin (branch명)
token 만들어서 username, password 에 토큰 붙여넣기
3. Fork저장소(Github)에서 commit 제출하기
- 해당 branch에서 "Open pull request" 누르기
--> 현재까지의 과정은 아래와 같다
'Computer Science > git&github' 카테고리의 다른 글
Git&Github 고급 (Rebase) (0) | 2022.02.23 |
---|---|
Stash vs Checkout (0) | 2022.02.16 |
개발자가 오픈소스 읽는 방법 (0) | 2022.02.16 |
기본 Git&Github 협업과정 (0) | 2022.02.16 |
[git & github] 깃허브 (0) | 2020.05.18 |