> git --version
git version 2.30.1 (Apple Git-130)
깃이 설치되어 있는 지 확인하고, 설치 되어 있지 않은 경우에는 설치할 수 있도록 안내 메세지가 뜹니다. *** XCode에 git이 포함되어 있기에, XCode가 설치되어 있는 경우에는 git을 별도로 설치할 필요가 없다고 합니다.
> git config --global user.name "사용자이름"
> git config --global user.email "이메일"
로컬저장소를 사용하든, 원격저장소를 사용하든 미리 세팅해놓은 사용자 이름과 이메일로 커밋이 될 것입니다.
github에 내 Repository를 만듭니다. 자신이 버전 관리할 폴더를 서버에 만든다고 생각하면 됩니다.
github 우측 상단의 +를 클릭하여 New repository 눌러줌.
현재 경로의 디렉토리를 git 저장소로 설정 및 초기화 해주는 명령어입니다. 해당 폴더를 이제 git으로 관리하겠다 라고 선언해주는 것입니다.
> mkdir example
==> 새로운 폴더 생성
> cd example
==> 해당 경로로 이동
> git init
Initialized empty Git repository in /Users/yeojisu/Documents/example/.git/
"Initialized empty Git repository in (경로) " 메시지와 함께 설정이 됩니다.
git이 올릴 파일을 추적할 수 있도록 추가해 줍니다. commit을 하기전에는 반드시 add를 해주어야 하고, 파일을 수정하긴 했지만 commit하지 말아야 하는 경우에는 add를 하지 않으면 됩니다.
> git add --all
> git add .
==> 추적되고있지 않은 모든 파일을 add. 현재 폴더의 모든 파일을 git으로 관리하겠다는 의미.
> git add "파일 이름"
==> 특정 파일만 git으로 관리하겠다는 의미.
현재 git 저장소의 상태를 표시합니다.
해당 저장소의 최신 내용을 가져온 시점을 기준으로 변경되었는데 add가 되어있지 않다면 해당 파일명을 붉은색 으로, add는 되어있으나 commit이 되어있지 않으면 녹색으로 표시됩니다.
git add example.txt 전 git status
git add example.txt 후 git status
> 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)
마지막으로 커밋한 사항을 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와 함께 올라온 것을 확인할 수 있습니다.
> git log
==> 현재까지 commit 한 기록을 보여줍니다. 각 커밋별로 사용자, 날짜 및 시간, 커밋 메시지가 보입니다.
> git log --graph
명령어를 사용하면 커밋 과정에서 브랜치가 나뉘고, 다시 병합되는 과정을 그래프 형식으로 로그와 함께 표시해줍니다.
Before
$ git push --set-upstream origin master
After
$ git push -u origin master
--set-upstream => -u 로 쓸수도 있습니다