로컬저장소를 사용하든, 원격저장소를 사용하든 미리 세팅해놓은 사용자 이름과 이메일로 커밋이 될 것입니다.
3. git에 repository 만들기
github에 내 Repository를 만듭니다. 자신이 버전 관리할 폴더를 서버에 만든다고 생각하면 됩니다.
github 우측 상단의 +를 클릭하여 New repository 눌러줌.
4. 기본적인 git 명령어
4-1) git init
현재 경로의 디렉토리를 git 저장소로 설정 및 초기화 해주는 명령어입니다. 해당 폴더를 이제 git으로 관리하겠다 라고 선언해주는 것입니다.
> mkdir example
==> 새로운 폴더 생성
> cd example
==> 해당 경로로 이동
> git init
Initialized empty Git repository in /Users/yeojisu/Documents/example/.git/
"Initialized empty Git repository in (경로) " 메시지와 함께 설정이 됩니다.
4-2) git add
git이 올릴 파일을 추적할 수 있도록 추가해 줍니다. commit을 하기전에는 반드시 add를 해주어야 하고, 파일을 수정하긴 했지만 commit하지 말아야 하는 경우에는 add를 하지 않으면 됩니다.
> git add --all
> git add .
==> 추적되고있지 않은 모든 파일을 add. 현재 폴더의 모든 파일을 git으로 관리하겠다는 의미.
> git add "파일 이름"
==> 특정 파일만 git으로 관리하겠다는 의미.
4-3) git status
현재 git 저장소의 상태를 표시합니다. 해당 저장소의 최신 내용을 가져온 시점을 기준으로 변경되었는데 add가 되어있지 않다면 해당 파일명을붉은색으로, add는 되어있으나 commit이 되어있지 않으면녹색으로 표시됩니다.
git add example.txt 전 git status
git add example.txt 후 git status
4-4) git commit
> git commit
==> add 되어있는 상태의 파일을 저장소에 제출.
커맨드라인 환경에서 git commit 을 실행하면, commit message를 작성하는 화면이 vim 에디터로 실행이 됩니다. 맨 첫줄에 커밋 메시지를 입력하고 :wq 로 빠져나오면, 커밋이 완료됩니다.
> git commit -m "커밋메시지"
==> vim 편집기화면을 건너뛰고 한줄짜리 메시지와 함께 곧바로 커밋할 수 있음
💡 만약 커밋메시지를 수정하고 싶다면?
> git commit --ammend
==> 방금 전 올린 commit message를 수정할 수 있음
vim 에디터 가 실행되고, a키를 누르면 insert모드가 되어 글이 작성됩니다 젤 위 적힌 commit message를 수정한 후 esc 키를 누르고 :wq 를 작성하여 빠져나옵니다.
4-5)git remote
로컬 저장소와 소스코드가 올라갈 Git홈페이지를 연결해주는 작업이라고 보면 됩니다.
> git remote add origin "https://github.com/YeoJiSu/jj"
==> " 자신의 repository 주소 " 를 remote 합니다.
> git remote -v
origin https://github.com/YeoJiSu/jj (fetch)
origin https://github.com/YeoJiSu/jj (push)
4-6) git push
마지막으로 커밋한 사항을 git repsoitory에 올립니다. 'commit'까지만 명령을 실행했다면 현재의 변경 내용은 아직로컬 저장소의 HEAD안에 머물고 있을 것입니다.
변경 내용을원격 서버로 올리기 위해'push'를 해야합니다.
> git push
fatal: The current branch master has no upstream branch.
To push the current branch and set the remote as upstream, use
git push --set-upstream origin master
==> 이런 에러사항이 발생하면 위 명령어를 실행하면 됩니다.
> git push --set-upstream origin master
Enumerating objects: 3, done.
Counting objects: 100% (3/3), done.
Writing objects: 100% (3/3), 212 bytes | 212.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
To https://github.com/YeoJiSu/jj
* [new branch] master -> master
Branch 'master' set up to track remote branch 'master' from 'origin'.
":star:" commit message와 함께 올라온 것을 확인할 수 있습니다.
4-7) git log
> git log
==> 현재까지 commit 한 기록을 보여줍니다. 각 커밋별로 사용자, 날짜 및 시간, 커밋 메시지가 보입니다.
> git log --graph
명령어를 사용하면 커밋 과정에서 브랜치가 나뉘고, 다시 병합되는 과정을 그래프 형식으로 로그와 함께 표시해줍니다.