본문 바로가기

VCS

기본 Git 커맨드 Basic Git commands

기본 Git 커맨드 Basic Git commands

Git과 함께 가기 위한 기본 Git Command들입니다. 원본은 여기에서 볼 수 있습니다.

아래 각각의 Git task를 누르면 링크로 이동해 자세한 설명을 볼 수 있습니다.

Git taskNotesGit commands
Tell Git who you are

커밋에 사용될 저자와 이메일주소를 설정합니다. Git은 user.name. 에서 후행 마침표와 같은 일부 문자를 제거하므로 주의하세요.

git config --global user.name "Sam Smith"

git config --global user.email sam@example.com

Create a new local repository

 git init

Check out a repository

지역 지장소의 복사본을 만듭니다:

git clone /path/to/repository
원격 저장소를 위해서는 :git clone username@host:/path/to/repository
Add files

하나 이상의 파일을 Add하여 stage로 올립니다. (인덱스)

git add <filename> git add *

Commit

head로 변경사항을 Commit 합니다. (원격 저장소는 아직):

git commit -m "Commit message"

git add 한 파일들을Commit 하고, 또한 변경된 파일들까지 Commit 합니다:

git commit -a
Push

당신의 원격 저장소 master branch로 변경사항을 보냅니다:

git push origin master
Status

변경된 파일, add나 commit이 필요한 파일들을 보여줍니다:

git status
Connect to a remote repository

만약 지역저장소를 원격서버에 연결한 적이 없다면, push를 위한 서버(원격 저장소)를 추가합니다:

git remote add origin <server>

현재 설정되어 있는 원격 저장소들의 리스트를 보여줍니다:

git remote -v
Branches

새로운 branch를 만들고 switch 합니다:

git checkout -b <branchname>

branch를 switch 합니다.

git checkout <branchname>

당신의 repo 안의 모든 branch 리스트를 보여주고, 현재 작업중인 branch를 알려줍니다:

git branch
특정 branch를 삭제합니다:git branch -d <branchname>

branch를 원격 저장소에 Push하여 타인이 사용할 수 있게 합니다:

git push origin <branchname>

당신의 원격 저장소로 모든 branch를 Push 합니다:

git push --all origin
당신의 원격 저장소의 branch를 삭제합니다:git push origin :<branchname>
Update from the remote repository

Fetch and merge changes on the remote server to your working directory:

원격 저장소의 변경 사항을 가져오고 작업 디렉토리에 합칩니다(fetch and merge):

git pull

현재 활성중인 branch에 다른 branch를 합칩니다(merge):

git merge <branchname>

모든 병합 충돌 확인:


기본 파일과의 충돌들을 확인합니다:

merge 전에 변경사항 미리보기:

git diff

git diff --base <filename>

git diff <sourcebranch> <targetbranch>

충돌을 수동으로 해결한 뒤에는, 변경된 파일에 표시합니다:

git add <filename>
Tags

tagging을 사용해 릴리즈와 같은 중요한 변경셋을 표시할 수 있습니다:

git tag 1.0.0 <commitID>

CommitId는 변경셋(changeset) ID의 선두 문자(leading characters)이며, 최대 10자이며 고유해야만 합니다. 다음을 사용해 ID를 가져옵니다:

git log

원격 저장소로 모든 태그를 Push합니다:

git push --tags origin
Undo local changes

만약 X망각이라면 head의 마지막 내용으로 working tree의 변경사항을 대체할 수 있습니다:

index에 이미 추가된 변경사항과 새 파일은 보존됩니다.


git checkout -- <filename>

모든 로컬 변경사항 및 commit을 삭제하는 대신, 서버에서 최신 기록을 가져와 당신의 로컬 master branch를 가르키게 하려면 이렇게 하세요: 

git fetch origin git reset --hard origin/master
Search

foo() 라는 워킹 디렉토리를 찾으려면 :


git grep "foo()"