안녕하세요! 오늘은 깃허브(github)에 코드를 올릴 때 깃(git)을 이용하는 방법을 알아보겠습니다. 별로 어렵지 않은 내용이지만 처음 다룰 때 많이 헷갈릴 수 있는 부분이라(저도 그랬고) 깃에서 깃허브로 연동 시 자주 이용하는 명령어에 대해서 알아봅니다.
깃을 사용하는 것은 윈도우와 맥에서 차이가 있는데, 저는 윈도우 유저이기 때문에 윈도우를 기본으로 설명하겠습니다.
1. 깃(git)을 다운받는다.
먼저 Git for Windows(gitforwindows.org/)에 접속하여 깃을 다운받습니다. Download를 누르면 깃을 다운받을 수 있고 Git GUI, Git CMD, Git Bash가 다운로드됩니다. 저는 모든 설치를 디폴트로 설정하여 제 노트북의 C:\Users\user에 저장하였습니다.
2. 깃허브(github)의 계정을 만들고 레파지토리(repository)를 만든다.
깃허브 주소인 github.com/ 에 접속하고 Sign Up을 클릭해 계정을 만듭니다. 저는 무료 회원으로 등록하였습니다.
계정에 로그인한 뒤 여러분의 코드를 입력할 레파지토리를 만드는데, 사진의 빨간색 동그라미 친 부분 - New를 클릭하면 새로운 레파지토리를 개설할 수 있습니다.
위의 New를 클릭하면 다음과 같은 화면이 나오는데, Repository name에는 레파지토리(저장소)의 이름을, Description에는 해당 레파지토리가 어떤 것인지 간단한 설명을 적습니다.(필수는 아닙니다.)
Public과 Private 중 레파지토리의 옵션을 선택할 수 있는데, Public은 모든 사람에게 공개되어 주소만 있으면 들어갈 수 있는 것이며 Private은 비공개로 만드는 것입니다.
Initialize this repository with 부분은 처음 이 레파지토리를 만들 때 설정하는 옵션으로, 체크를 하지 않아도 되나 저는 Add a README file은 체크해줍니다. 이후 레파지토리의 README를 쓸 때 유용하기 때문이죠. 하지만 체크하지 않아도 이후 만들어진 레파지토리의 settings에서 다시 README를 만들 수 있으니 괜찮습니다.
3. Git Bash를 이용하여 해당 레파지토리에 코드를 업로드한다.
저는 이번에 새로운 레파지토리 'do_it_jumpy'를 만들어 제가 공부한 실습 파일들(.ipynb, .py, .txt 등)을 업로드하도록 하겠습니다. 이것은 'Do it! Jump to Python'(박응용 저, 이지스퍼블리싱)이라는 책을 공부하며 만든 실습 파일들입니다.
이제 아까 설치했던 Git Bash를 실행해줍니다. 여기서부터가 중요한 명령어들이 나옵니다.
- pwd
- git clone git주소
- cd git주소
자, Git Bash는 지금 어디에 있을까요? 좀전에 pwd에서 알아봤듯 C:\Users\user 폴더에 있습니다. 하지만 여러분은 여러분의 레파지토리인 'do_it_jumpy'에 코드를 업로드하고자 하니, 당연히 위치를 바꿔주어야 합니다. 'do_it_jumpy'는 C:\Users\user 내에 있습니다. 그러므로 cd 명령어를 통해 이동합니다.
참고로, cd 명령어로 cd+경로명을 쓰면 해당 경로로 이동이 가능하며, cd ..을 사용하면 현 위치 폴더의 상위 디렉토리로 이동하게 됩니다.
- ls
ls 명령어를 실행하면 'do_it_jumpy'라는 폴더 안에 무엇이 있는지가 나옵니다. 지금은 비어 있는 디렉토리이므로 디폴트값인 README.md만 존재할 것입니다. 여기에 뭐가 있는지 눈으로 확인하고 싶다면 지금 do_it_jumpy 폴더를 클릭해 무엇이 있는지 보면 됩니다.
이제 업로드할 코드 파일들을 이곳에 옮겨 줍니다. 제가 갖고 있는 코드들은 Desktop\[2021] Jump_to_Python 이라는 폴더에 모두 저장되어 있었습니다. 이를 복사하여 C:\Users\user\do_it_jumpy 폴더 내에 저장합니다.
이렇게 하고 나서 다시 Git Bash에 ls를 입력해보면
이렇게 아까 전에는 없었던 파일들이 생깁니다. 하지만 이걸로 끝은 아니겠죠? 아직 git push를 하지 않았기 때문에 우리의 github 레파지토리는 아무리 새로고침을 해도 그대로일 것입니다.
- git status
git push를 하기에 앞서 우리는 git add - commit - push의 과정을 거쳐야 합니다. 그리고 이 과정들 사이사이마다 사용할 수 있는 명령어가 git status입니다. 이름 그대로 이는 현재 폴더의 상태를 알려줍니다.
- git add 파일명 (여러개인 경우 git add *)
코드를 업로드하기 위한 첫번째 절차는 git add입니다. git add는 push할 파일명을 뒤에 써주어야 하는데, 저의 경우에는 한 번에 여러 개의 파일을 업로드하기 위해 * 문자를 사용하였습니다. 이를 이용하면 붉은 글씨로 나왔던 파일들이 모두다 add됩니다.
(참고로, 여러 개의 파일 중 단 2개만 git add하고 싶다면 git add file1.txt를 쓰고 엔터를 친 후 다시 git add file2.txt를 써주면 됩니다.)
- git commit -m "메세지"
다음으로는 git commit입니다. -m "메세지"의 메세지는 쓰고 싶은 말을 쓰면 되며, 이는 나중에 깃허브에 업로드될 코드파일명 옆에 한줄로 Description으로 입력됩니다. 쓰고 싶지 않다면 안 써도 됩니다.
- git push
마지막으로 git push를 해주면 업로드 완료!
4. 완료 후, 깃허브 확인하기
제가 한 화면과 똑같이 출력되셨다면 여러분의 깃허브 레파지토리에 들어가 새로고침을 해보세요. 이렇게 코드들이 올라와 있을 겁니다. 또한 파일명 옆에 description으로 'first commit'이라 친 것은 아까 git commit을 할 때 입력된 메세지입니다.
저의 경우엔 공부할 때 쓴 파일들은 모두 Desktop에 저장해 놓고 코딩하는 것이 편해서 파일들을 모두 Desktop의 폴더에 저장해 놓은 후 github 업로드를 위해 파일들을 Git Bash가 있는 C:\Users\user 내의 새 폴더에 저장 후 이 과정을 수행합니다.
하지만 이 방법이 귀찮으신 분들은 처음부터 Git Bash가 저장되어 있는 폴더(저의 경우 C:\Users\user)에 코드 파일을 저장한 후 바로바로 git push로 올리시는 것을 추천합니다. 아예 처음부터 깃허브에 새로운 레파지토리를 만들어 놓고 git clone 후 저장하는 것도 좋겠죠?ㅎㅎ 한번에 코드파일을 올리는 것도 파일크기가 많으면 꽤나 귀찮은 작업이니까요!
#번외. 이렇게 Git Bash를 이용하지 않고도 깃허브에 코드를 올릴 수 있는 방법도 존재합니다.
바로 요렇게 여러분의 레파지토리의 Add file-Upload files를 통해 올리는 방법이죠.
하지만 파일의 크기가 큰 경우, 그리고 파일이 아주 많은 경우엔 저는 Git Bash를 통해 하는 것을 추천합니다. (직접 올리는 건 가끔 에러가 날 경우도 있고, Git Bash 방법이 익숙해지면 이게 더 쉽답니다+_+)
그럼 도움이 되셨길 바라며 오늘도 즐거운 코딩하세요 :)
'Skillset > Python, Git' 카테고리의 다른 글
python cv2 AttributeError: 'Nonetype' object has no attribute 'shape' 해결법 (2) | 2022.04.22 |
---|---|
python pip upgrade error - pip 업그레이드 해결하는 방법 (6) | 2022.04.22 |
[Markdown #3] python markdown/R markdown/LateX syntax/code chunck options (0) | 2021.03.10 |
[Markdown #2] github readme 수정하기/readme repository image/깃허브 이미지 업로드 (0) | 2021.03.10 |
[Markdown #1] Markdown 알아보기/마크다운/markdown tutorial (0) | 2021.03.10 |