git init
출처) elice 강의: Git 저장소 반영부분
git add (file_name) or .
.
:은 stage에 올라가지 않은 모든 파일을 추가한다.git commit -m "commit massage" (file_name)
git commit --amend
-m
: 뒤의 입력된 커밋 메시지 사용 옵션, file_name을 입력하면 특정 파일만 commit--amend
: 커밋 메시지 수정이나 누락된 파일을 추가할 때 사용-m "message"
를 사용하면 바로 메시지 수정가능(editer를 거치지 않음)git status
git log [-p, --patch] [-n] / [--stat] / [--pretty=oneline] / [--graph] / [-S function_name]
git reset (file_name)
git status
: staging file들의 상태 확인git log
: git repository에 존재하는 history확인(checkpoint 확인)-p
, --patch
: diff와 동일한 역할, commit의 수정 결과를 보여줌-n
: 상위 n개의 commit만 보여줌--stat
: 어떤 파일이 commit에서 수정되고 변경되었는지, 파일내 라인이 추가되거나 삭제되었는지 확인--pretty=oneline
: 각 commit을 한 줄로 출력--graph
: commit간의 연결된 관계를 아스키 그래프로 출력⭐⭐⭐-S function_name
: 특정 텍스트(function_name)가 변경된 commit을 찾음git reset
: (file_name)에 해당하는 commit 삭제--soft
: HEAD가 가리키는 branch를 원하는 commit으로 단순 이동--hard
: soft와 동일하지만 staging된 내용, working directory에 있는 내용을 전부 해당 commit 혹은 HEAD가 가리키는 snapshot으로 돌려버림(작업내용이 보존되지 않는다.)--mixed(default)
: 주로 staging된 내용을 지우기 위해 사용, 기본값git branch (branch_name)
git checkout (branch_name) / (snapshot_hash)
git branch (branch_name)
: branch_name에 적힌 이름으로 새로운 branch를 만듦git checkout (branch_name)
: branch_name에 해당하는 이름으로 HEAD를 이동-c
: 새로운 branch를 생성 후 HEAD를 이동git checkout (snapshot_hash)
: snapshot_hash에 해당하는 snapshot으로 이동git checkout master
git merge (branch_name)
git branch -d (branch_name)
git log --graph --oneline --all
을 사용해 branch status를 한 눈에 쉽게 확인할 수 있다.
git status
명령어로 충돌이 일어나는 곳을 확인할 수 있음git add
git commit
과정을 거친 다음 다시 mergegit clone
: 원격 저장소에 올라가 있는 repository를 복사하는 명령어(단순 복사, 이 상태의 repo는 로컬)git remote add origin (repo link)
: repo link의 원격 저장소와 연결, origin은 원격 저장소의 이름-v
: 지정한 저장소의 이름과 주소를 확인할 수 있음git remote show origin
: origin이라는 원격 저장소의 정보를 확인git remote rename (before) (after)
: 원격 저장소의 이름을 before에서 after로 변경git pull origin master
: 원격 저장소의 변경점을 자신의 로컬 저장소로 받아오는 데 사용. fetch와는 다르게 자동으로 merge가 된다. git fetch origin master
: 이것을 사용하면 반드시 merge를 진행해 줘야한다.git merge origin/master
git push origin master
: 로컬 저장소에서 작업한 내용을 원격 저장소에 반영. 단 다른 사람이 먼저 push를 했고 그것을 merge하지 않은 상태라면 먼저 merge를 진행해야한다.