[GIT] 자주쓰는 기본적인 git 명령어 모음

1. Local Repository 생성
$ git init
현재 디렉토리에 git 저장소를 생성한다.
# 현재 디렉토리에 이름이 `project1`인 저장소 만들기
$ git init project1
# `mydir` 디렉토리 안에 이름이 `hello`인 저장소 만들기
$ cd mydir
$ git init hello
# `./mydir/world` 디렉토리를 저장소로 만들기
$ git init ./mydir/world
2. Remote Repository 생성
깃허브, 빗버킷, 깃랩등의 깃호스팅 업체를 통해 Remote Repository를 생성한다.
$ git remote add origin https://github.com/your/repository
# origin: 원격저장소 주소의 대명사. 매번 주소를 입력하는 것이 번거롭기 때문에 origin으로 대체한다.
$ git remote set-url origin https://github.com/your/repository
# set-url: remote주소를 잘못쳤다면 수정한다.
$ git remote show origin
# show origin:
3. git config 설정
git config --global user.name "ABC"
git config --global user.email "ABC@DEF.com"
-
처음 push를 했다면, git config명령어를 통해 이메일과 비밀번호를 등록한다.
-
비밀번호를 타이핑할 때는 출력이 되지 않으므로 그냥 입력하면 된다.
4. git add
$ gid add .
// 변경된 모든 파일을 local repository에 추가
$ git add --update
// 현재 깃이 추적하고 있는 파일만 add
$ git add *.txt
// 모든 txt 파일을 add
$ git add Documents/coding/*/
// 디렉토리에 대해서도 사용할 수 있다
5. git commit
$ git commit 명령어
$ git commit -m "메세지 내용"
// vi에서 별도의 메세지를 작성하지 않고 인라인 형식으로 바로 커밋 메세지를 작성하기 위한 옵션
$ git commit -a [파일명]
// "수정한 파일"에 대해 add를 수행하는 옵션
// 새로만든 파일이 있으면 따로 add를 해야한다.
$ git commit -am "메세지"
// a옵션과 m옵션을 합쳐서 사용하는 옵션
$ git commit --ammend -m "commit_message"
# 마지막 commit 메시지 수정하기
$ git reset HEAD^
# 바로 이전 commit으로 되돌리기 (방금한 커밋 취소)
$ cd food_list
$ git add .
$ git branch food/cost
$ git branch food/feedback
$ git checkout food/cost
$ git commit -m "cost" food_cost.txt
$ git checkout food/feedback
$ git commit -m "feedback" food_feedback.txt
master 브랜치에 모든 파일을 add한 후에 특정 branch에서 특정 파일만 커밋할 수 있다.
6. git push
$ git push { 원격저장소 이름 } { 원격 브랜치 이름 }
$ git push origin master
# remote repository를 생성하면 기본적으로 master라는 이름의 브랜치가 생성된다.
$ git push origin { 브랜치 이름 }
# 다른 branch로 push 하고 싶으면 를 특정 브랜치명으로 바꾼다.
$ git push -u { 원격 저장소 별명 } { 로컬 브랜치명 }
# 이후에 git push 명령어만 입력해도 원격 저장소로 push 할 수 있게 됩니다.
git push --delete { 원격 브랜치명 }
# remote repository에 있는 브랜치를 삭제합니다.
-u 옵션: master 라는 현재 브랜치를 자동으로 origin 이라는 원격저장소의 master 브랜치로 연결해 간단히 git push 만 입력하여 반영하거나 git pull 을 입력할 때 origin이라는 원격저장소의 master 브랜치를 로컬 저장소의 master 브랜치로 merge 할수 있게 해주겠다는 의미이다. 원격저장소와 로컬 저장소를 자동 연결하여 사용할수 있다.
-
push 하기 전에 Local Repo는 항상 Remote Repo의 최신 버전을 유지해야 한다.
-
Remote Repo에 존재하는 커밋이 Local Repo에 없으면 에러가 발생한다.
****
7. 자주 사용하는 코드
git init
git remote add orgin master
git config
git add .
git commit -m "Initial Commit"
git push origin master
git add .
git commit -m "메시지 내용"
git push origin {브랜치명}