페어와 함께하는 페어 프로그래밍시 git의 사용법이다
A와 B 둘이서 git으로 프로젝트를 하려한다
A와 B는 모두 codestates repository에 가서 오늘 할 페어프로그램을 각자의 remote repository로 fork해온다
A와 B 모두 각자의 remote repository로 가져온 파일을 clone해서 각자의 Local(개인 컴퓨터)로 가져온다.
git clone <REPO URL>
두사람 다 터미널을 열고 clone한 파일이 있는 위치로 이동한 후에 시작해야 한다
서로의 repository를 연결해야 하기 때문에 A ,B 모두 서로의 remote repository를 추가한다
git remote add pair <Repo URL>
(이 때 pair말고 다른 이름으로 저장해도 된다)
git remote -v
를 터미널에 입력하면 각자의 컴퓨터에서 서로 repository가 연결 되었는지 확인할 수 있다.
연결이 끝났다. A가 먼저 코드를 수정후 커밋했다.
git add <change file>
파일명을 함께 입력해준다
git add .
local에 저장한 폴더에 파일이 하나밖에 없다면 이렇게 해도된다 (git add .
은 모든 파일을 올리는 것이기 때문에 막 쓰면 온갖 파일이 같이 들어갈 수 있으니 유의)
이제 A는 commit message를 써서 어떤 부분이 변경되었는지 B에게 알린다
git commit -m'A가 수정'
''
의 내용은 변경해도 된다
그리고 A 자신의 remote repository(Github)에 파일을 push한다
git push origin master
A가 바꾼 파일을 B가 가져오기 위해 A의 remote repository에서 바뀐 파일을 pull해야한다.
git pull pair master
(초반에 repository를 연결할 때 pair말고 다른 이름을 적었다면 다른 이름을 적어주자)
B는 A의 remote repository에서 자신의 Local로 파일을 가져왔다
수시로 git status
를 쳐주면 자신의 파일 상태를 볼 수 있다
B가 코드를 수정하고
git add <change file>
git commit -m'B가 수정'
자신의 github(remote repository)에 수정한 파일을 push한다
git push origin master
B가 수정한 파일을 A 자신의 Local로 가져와 수정하려한다.
git pull pair master
이 과정을 반복하면된다.
주의할 점은 push는 자신의 repository에 pull은 pair의 repository에서 해야한다는 점이다
remote remove pair
똑같은 줄을 고치지 않으면 알아서 합쳐진다 (auto merge)
auto merge가 되고 나서 :wq를 누르면 창에서 나갈 수 있다
git log를 하고 q를 누르면 나갈 수 있다
main과 master는 같다 git회사에서 작년부터 수정한 이름이다 (보통 옛날 이름이 master)
우분투는 gitkraken, smartgit(유료) 이라는걸 사용해서 터미널말고 GUI로도 사용할 수있다 (맥 sourcetree)
git restore
는 stageing area에 들어가지 않은 파일인 경우, 마지막으로 수정된 내용을 지운다
git reset
내용은 그대로인데 staging area에 올린 파일을 내림(work place 로 다시 내려옴)