깃허브 원격저장소와 로컬저장소 연동을 머리속에서만 알고있었고, git 관련 명령어도 필요할 때마다 구글링으로 찾아서 처리했었는데…
날잡고 정리해서 내것으로 만들어야지 생각만하다가 오늘 정리하기로 맘먹었다.
오늘은! 로컬 저장소(workspace)를 깃허브 원격저장소에 연동하는 방법에 대해 포스팅 해보겠습니다.
참고로, git이 설치가 안되신분들은 git을 설치하고 오시기 바랍니다.
로컬 저장소 생성
-
Git Bash
실행 - 본인이 작업할 로컬
workspace(폴더)
를 생성합니다. - 생성할 위치 이동 + git_test라는 이름의 폴더 생성합니다.
seong@DESKTOP-O5CIEJV MINGW64 ~ $ cd E:/project && mkdir git_test
- 생성한
workspace(폴더)
git_test에서 git 저장소를 생성합니다.seong@DESKTOP-O5CIEJV MINGW64 /e/project $ cd git_test/ seong@DESKTOP-O5CIEJV MINGW64 /e/project/git_test $ git init Initialized empty Git repository in E:/project/git_test/.git/
- 파일 생성
seong@DESKTOP-O5CIEJV MINGW64 /e/project/git_test (master) $ vi test.py
-
git status
로 상태를 확인해보면 생성된 test.py 파일을 git에 추가할 수 있다고 나옵니다.seong@DESKTOP-O5CIEJV MINGW64 /e/project/git_test (master) $ git status On branch master No commits yet Untracked files: (use "git add <file>..." to include in what will be committed) test.py nothing added to commit but untracked files present (use "git add" to track)
- git 저장소에 추가
-
No commits yet :
아직 커밋을 하지 않다고 나옵니다.seong@DESKTOP-O5CIEJV MINGW64 /e/project/git_test (master) $ git add test.py seong@DESKTOP-O5CIEJV MINGW64 /e/project/git_test (master) $ git status On branch master No commits yet Changes to be committed: (use "git rm --cached <file>..." to unstage) new file: test.py
git commit
-
-m "test commit add test.py"
<- commit messageseong@DESKTOP-O5CIEJV MINGW64 /e/project/git_test (master) $ git commit -m "test commit add test.py" [master (root-commit) fc4e43a] test commit add test.py 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 test.py
원격 저장소 생성 및 연동
-
github
repository
생성합니다.
-
code -> HTTPS 누르시면 URL이 나오는데
COPY
합니다.
-
git remote
, 로컬 저장소와 원격 저장소를 연동합니다. -
git remote add [원격저장소별칭] [원격저장소URL]
seong@DESKTOP-O5CIEJV MINGW64 /e/project/git_test (master) $ git remote add origin https://github.com/s-seongsik/github_test.git
-
remote
연결을 확인합니다.seong@DESKTOP-O5CIEJV MINGW64 /e/project/git_test (master) $ git remote origin $ git remote -v origin https://github.com/s-seongsik/github_test.git (fetch) origin https://github.com/s-seongsik/github_test.git (push)
git push [원격저장소별칭] [로컬브랜치이름]
-
--all
을 붙이면 로컬의 모든 브랜치를 push 합니다.
```console # 로컬브랜치 확인 seong@DESKTOP-O5CIEJV MINGW64 /e/project/git_test (master) $ git branch- master
# push seong@DESKTOP-O5CIEJV MINGW64 /e/project/git_test (master) $ git push origin master Enumerating objects: 3, done. Counting objects: 100% (3/3), done. Writing objects: 100% (3/3), 230 bytes | 230.00 KiB/s, done. Total 3 (delta 0), reused 0 (delta 0) remote: remote: Create a pull request for ‘master’ on GitHub by visiting: remote: https://github.com/s-seongsik/github_test/pull/new/master remote: To https://github.com/s-seongsik/github_test.git
- [new branch] master -> master ```
-
원격저장소를 보면 연동된 master 로컬브랜치에 test.py가 생성된것을 볼 수 있습니다.
파일 수정해보기
-
test.py
를 수정합니다.
-
git status
로 상태확인 -
modified : test.py
<-라는 문구에서 변경 확인이 가능합니다.seong@DESKTOP-O5CIEJV MINGW64 /e/project/git_test (master) $ git status On branch master Changes to be committed: (use "git restore --staged <file>..." to unstage) modified: test.py
- 위에서 배운대로
git add
->git commit
->git push
를 진행합니다. - tip) git add . 을 하시면 변경된 모든 것을 add 합니다.
seong@DESKTOP-O5CIEJV MINGW64 /e/project/git_test (master) $ git add test.py seong@DESKTOP-O5CIEJV MINGW64 /e/project/git_test (master) $ git commit -m "modify test.py" [master 5a43c8b] modify test.py 1 file changed, 2 insertions(+) seong@DESKTOP-O5CIEJV MINGW64 /e/project/git_test (master) $ git push origin master Enumerating objects: 5, done. Counting objects: 100% (5/5), done. Writing objects: 100% (3/3), 272 bytes | 272.00 KiB/s, done. Total 3 (delta 0), reused 0 (delta 0) To https://github.com/s-seongsik/github_test c81e115..5a43c8b master -> master
- test.py 내용이 변경된 것을 확인할 수 있습니다.
끝으로
로컬저장소와 원격저장소 연동하는 과정을 정리하면서 좀더 github와 git를 깊게 공부하고 싶은 욕심이 생겼습니다. 기회가 되면 git으로 협업하는 방법과 git의 원리 및 용어정리 대해 포스팅 해보겠습니다. 감사합니다.