Post

논문쓸 때 git 협업에 활용하기

#Git #Github

교수님과 논문을 같이 쓰게 되면서 버전 관리의 필요성을 느끼게 되었다. 드롭박스로도 가능하긴 하지만, fancy하고 더 안정적인 방법을 써보고자 git을 활용하게 되었다. 깃에 대해 잘 모르지만 내가 보기 위해 정리를 해보고자 한다.

1. 깃 세팅

1. repo 만들기

우선 깃허브에 들어가서 repository를 하나 만들어준다.

repository name은 공백 없이 간결하게 만들면 좋다. 그리고 “-“를 이용해서 공백을 대신할 수 있다. Public으로 하면 내 Work in Progress 논문이 다 까발려지기 때문에 Private으로 나는 선택했다.

2. Repository를 로컬에 Clone하기

코드 버튼을 누르면 내 repository 주소를 복사할 수 있다. 이걸 복사해둔다.
내가 앞으로 이 Repo를 관리할 내 컴퓨터 상의 폴더에서 터미널을 켜준다.
그리고 다음의 코드를 실행해준다.

1
git clone https://github.com/yourusername/repositoryname.git

여기에서 yourusername에는 깃허브 유저네임을, respositoryname에는 깃허브 repo 이름을 적어주면 된다.

2. 협업하기

1. Branch 만들기

쉽게 말해 브랜치를 만들게 되면, 최종 파일을 건드리지 않고 새로운 버전을 만들어서 내 마음대로 수정이 가능하다. Git 브랜치의 구조 등은 다른 블로그에서 더 자세하게 설명해 놓은게 많기 때문에 그건 생략하도록 한다. 그냥 직관적으로, 하위 브랜치에서 만든 파일을 깃허브에 올려서 이 수정본에 대해 논의를 거친 후에 최종본에 업로드를 하는 형식이라고 생각하면 된다.

1
git checkout -b aa

혹은

1
2
git branch aa
git checkout aa

이런 식으로 aa라는 브랜치를 만들어서 aa로 전환을 해주면 된다. (checkout이 전환하는 명령어라고 이해하면 된다.)

2. 파일 수정하기

이렇게 브랜치를 만들고 나서 내가 원하는 대로 페이퍼를 수정해주면 된다. 이 때 내가 수정하는 파일 명을 paper.tex라고 하겠다.

3. 수정된 부분을 stage하기

1
git add paper.tex

다음과 같이 add를 하게 되면 현재 내 브랜치 상에서 수정된 부분을 commit하기 전에 stage하는 것이다. 무슨 말인지 잘 모르겠으니 그냥 말 그대로 깃허브 서버에 바뀐 것을 add한다고 생각해보자. 혹은 파일 여러개가 변화했다면,

1
git add .

이렇게 .을 쓰면 전체를 add하겠다는 뜻이다.

4. 수정된 부분을 commit하기

이제 메시지와 함께 커밋이라는 것을 진행할 수 있다.

1
git commit -m "0910 revised the introduction"

이런 식으로 git commit -m 명령어 다음에 큰따옴표와 함께 작은 메모를 해두면, 깃허브 상에서 내가 어떤 것을 변화시켰는지 메시지를 통해 한 눈에 확인할 수 있게 된다.

5. push 하기

마지막으로는 push라는 것을 진행하면 되는데,

1
git push origin aa

이렇게 내 aa 브랜치를 깃허브에 푸시하게 된다.

3. 수정본 검토 후 최종본 변경하기

여기에서는 git 명령어를 통해서 하는 방법도 있지만, github webpage를 이용하는 방법으로 설명해보겠다.

1. Pull request 만들기

협업을 잘 하면 각자 브랜치에서 push한 변경본들이 github의 내 repository에 올라와있을 것이고, create a pull request라는 버튼이 보일 것이다.

누르면 바로 pull request를 할 수 있는데 이제는 merge를 할 단계이다.

2. merge하기

쉽게 말해 수정본을 최종본에 합친다는 뜻이라고 보면 된다. 토론을 거친 후 특이사항이 없다면 merge를 하면 된다.

3. pull하기

깃허브 웹페이지에 최종본이 형성되었기 때문에, 이걸 다시 내 컴퓨터의 폴더 상에 업데이트를 해줘야하는데, 그 과정이 pull이라고 생각하면 된다.

1
2
git checkout main
git pull origin main

main으로 브랜치를 다시 바꿔주고, pull을 진행하면 된다.

마지막으로는

1
git branch -d aa

생성했던 브랜치를 삭제해주면 끝이 난다.

혹시 잘못된 부분이 있다면 댓글을 남겨주면 바로 수정하도록 하겠다. 나도 깃을 잘 몰라서 여전히 배우는 중이다.

This post is licensed under CC BY 4.0 by the author.