행위

초보자를 위한 Git 협업개발 핵심 포인트

라이언의 꿀팁백과


- 협업을 하려면 Fork & Clone 을 우선 해야한다.


git clone git@github.com:gentleelinuxer/pytorch-exam

git log --oneline | wc -l


- push 권한은 아무에게나 주지 않는다.


- pull request (=PR) 가 수용되면 내가 수정한 코드가 실제 Repository 에 merge 된다.


- 커밋을 만든다 = 소스를 수정한다


- 작업의 시작 = 브랜치(branch) 생성


git checkout -b 브랜치이름

git branch


- 변경내역 비교


git diff


- 커밋 메시지에는 무슨 내용을 수정했는지 잘 적는 게 중요


git commit -m "내용"


- 내가 작성한 commit 확인하기


git show


- 내가 fork 한 repository에 push 하기


git push origin fix-mnist


- 내가 Fork 한 Repository 에서 Pull Request 를 함으로써 실제 Repository 에 수정 요청을 할 수 있다.


- 내가 commit 하기 전에 다른 사람이 commit 을 해서 나의 base 가 변할 수 있다는 점을 인지해야 한다. 이게 rebase 가 필요한 이유다.


- 즉, fetch 를 통해 최신 정보를 가져오고


git remove -v

git remote add upstream https://github.com/taeung/pythorch-example

git fetch upstream main


- rebase 로 base 를 최신화 한다.


git rebase upstream/main


- push 할 때 충돌은 대부분 base 의 변경에서 온다. (단, 동일한 파일을 수정하지 않으면 충돌은 일어나지 않음)


git push origin master


- 충돌 시 pull 명령어를 토해 최신 소스를 가져온다. (단, pull 을 통해 가져오면 merge 까지 바로 되기 때문에 조심해야 함)


git pull origin master


- 그래서 pull 을 했을 때 merge 를 일단 취소해야 한다.


git merge --abort


- pull = fetch + merge (단, 버전 업 후에는 현재는 option 을 통해 merge 여부를 변경 가능)


git config --unset pull.ff only

git config pull.rebase false


- 충돌이 난 경우 파일을 직접 열어서 해당 충돌 부분을 수정해야 하는 경우도 있다. (수정 후 아래 명령어 입력)


git rebase --continue


Git 설명.png


---


다시보기

https://www.youtube.com/watch?v=_2l2v85gVNE


강사님 개발 프로그램

https://github.com/git-rainbow/git-rainbow

https://git-rainbow.com/


강사님 티스토리 블로그

https://reallinux1.tistory.com/


Git-newbie-webinar.png