이 눔 아 속임수 시트
소개
개발자와 오픈-소스 소프트웨어 관리자의 팀은 일반적으로 자식, 협업을 지 원하는 분산된 버전 관리 시스템을 통해 그들의 프로젝트를 관리 합니다.
이 속임수 시트 스타일 가이드 작업 하 고 Git 저장소에서 공동 작업에 유용한 명령에 대 한 빠른 참조를 제공 합니다. 설치 하 고 구성 하는 자식, 반드시 읽고 “오픈에 참가 하는 방법 소스: Git 시작.”
이 가이드를 사용 하는 방법:
이 가이드는 속임수 시트 형식 자체에 포함 된 명령줄 조각입니다.
완료 하려는 작업에 관련 된 어떤 단면도 든 지로 이동 합니다.
이 가이드의이 명령에서 highlighted text 를 볼 때이 텍스트 파일을 자신의 저장소에 커밋 및 참조 해야 하는 명심 하십시오.
설정 및 초기화
Git가 설치 되어 있는지를 확인 하 고 또한 것입니다 다음 명령 사용 하 여 Git 버전을 확인 하십시오.
git –version
init 와 Git 저장소로 현재 작업 디렉토리를 초기화할 수 있습니다..
git init
원격으로 호스팅되는 기존 Git 저장소를 복사 하려면 사용 하 여 git clone repo의 URL 또는 서버 위치 (후자의 경우에 사용 합니다 ssh).
git clone https://www.github.com/username/repo-name
현재 자식 디렉토리의 원격 저장소를 표시 합니다.
git remote
더 자세한 출력에 대 한 -v 플래그를 사용 합니다.
git remote -v
상류에 Git을 추가, URL 수 또는 서버에서 호스트 될 수 있습니다 (후자의 경우에 연결 ssh).
git remote add upstream https://www.github.com/username/repo-name
준비
파일을 수정 했는지 표시 그것은 당신의 다음 커밋에 갈 때 준비 된 파일 간주 됩니다.
준비 되지 파일을 포함 하 여 Git 저장소의 상태 추가 확인 그리고 파일을 준비.
git status
수정 된 파일을, 커밋 전에 여러 번을 실행할 수 있는 add 명령을 사용 합니다. 이후의 변경 내용은 다음 커밋에 포함 하려는 경우, 당신은 해야 합니다 add 다시 실행.
add 된 특정 파일을 지정할 수 있습니다..
git add my_script.py
. 로 시작 하는 파일을 포함 하 여 현재 디렉터리에 모든 파일을 추가할 수 있습니다 한 ..
git add .
reset 와 작업 디렉토리 변경 내용을 유지 하면서 준비에서 파일을 제거할 수 있습니다..
git reset my_script.py
커밋
일단 귀하의 업데이 트를 준비 준비가 그들을 저지 하는 변경 사항을 저장소에 기록 합니다.
준비 된 파일을 커밋, 커밋을 추적할 수 있도록 의미 있는 커밋 메시지와 함께 commit 명령을 실행 거 야 당신은.
git commit -m “Commit message”
모든 추적된 파일을 한 번에 커밋하기 준비 응축 수 있습니다.
git commit -am “Commit message”
커밋 메시지를 수정 해야 할 경우 수행할 수 있습니다와 –amend 플래그.
git commit –amend -m “New commit message”
Branches
A branch in Git is a movable pointer to one of the commits in the repository, it allows you to isolate work and manage feature development and integrations. You can learn more about branches by reading the Git documentation.
List all current branches with the branch command. An asterisk (*) will appear next to your currently active branch.
git branch
새로운 분기를 만듭니다. 새로운 것으로 전환 될 때까지 현재 분기에 유지 됩니다.
git branch new-branch
모든 기존 지점으로 전환 하 고 현재 작업 디렉토리에 그것을 밖으로 검사 합니다.
git checkout another-branch
-b 플래그를 사용 하 여 생성 및 새 분기의 체크 아웃을 통합할 수 있습니다.
git checkout -b new-branch
분기 이름을 이름을 바꿉니다.
git branch -m current-branch-name new-branch-name
현재 작업 중인 것으로 지정 된 분기의 역사를 병합 합니다.
git merge branch-name
충돌이 발생 하는 경우에 병합을 중단 합니다.
git merge –abort
또한 cherry-pick 특정 커밋을 참조 하는 문자열을 병합할 특정 커밋을 선택할 수 있습니다.
git cherry-pick f7649d0
분기를 병합 이상 분기를 필요 하는 경우에이 삭제할 수 없습니다.
git branch -d branch-name
마스터, 분기 병합 하지 않은 있는지 확인 하십시오 그것을 삭제 하려는 경우, 당신은 강제로 삭제 분기 수 있습니다.
git branch -D branch-name
공동 작업 및 업데이트
상류, 리모컨 같은 다른 저장소에서 변경 내용을 다운로드 하기 fetch 를 사용 합니다..
git fetch upstream
가져온된 커밋 병합 합니다.
git merge upstream/master
밀거나 전송 원격 저장소 분기를 로컬 지점 커밋.
git push origin master
인출 하 고 병합 추적 원격 지점에서 모든 커밋.
git pull
검사
현재 분기에 대 한 커밋 기록을 표시 합니다.
git log
특정 파일 변경 커밋을 표시 합니다. 이 파일 이름에 파일을 다음과 같습니다.
git log –follow my_script.py
표시 한 지점에 있으며 다른에 커밋. 커밋 b-branch 에 a-branch 에 표시 됩니다..
git log a-branch..b-branch
참조 로그 (reflog) 지점과 다른 참조 팁 저장소 내에서 마지막으로 업데이트 된 때를 보세요.
git reflog
Git에 커밋 문자열 또는 더 인간-읽을 수 있는 형식에는 해시를 통해 모든 개체를 표시 합니다.
git show de754f5
표시 변경
git diff 명령은 커밋, 분기, 사이 변화를 보여 줍니다. 당신은 Git 설명서 를 통해 그것에 대해 자세히 읽을 수 있습니다..
준비 영역에 있는 수정 된 파일을 비교 합니다.
git diff –staged
무슨 a-branch 에서 b-branch 에 diff를 표시.
git diff a-branch..b-branch
두 개의 특정 커밋 간의 비교를 표시 합니다.
git diff 61ce3e6..e221d9c
Stashing
가끔 일부 코드를 변경 하지만 다른 것에 대 한 작업을 시작 해야 완료 하기 전에 찾을 수 있습니다. 당신은 당신이 지금까지 만든 변경 사항을 커밋할 준비가 꽤 하지만 작업을 잃고 싶지 않아. git stash 명령 하면 로컬 수정 저장 하 고 가장 최근 HEAD 커밋 라인 작업 디렉터리를 다시 되돌릴 수 있습니다.
현재 작업을 숨기고.
git stash
무엇 당신이 현재가지고 은닉을 참조 하십시오.
git stash list
당신의 빼돌린 이름이 될 것입니다 stash@{0}, stash@{1}, 등등.
특정 마리화나에 대 한 정보가 표시 됩니다.
git stash show stash@{0}
현재 마리화나 마리화나 유지 하면서 숨겨 놓은 중에 파일을가지고 apply 하는 것을 사용합니다.
git stash apply stash@{0}
가지고 파일을 숨기고, 더 이상 숨겨 놓은 필요, 사용 pop.
git stash pop stash@{0}
더 이상 필요한 경우 특정 숨겨 놓은에 저장 된 파일, 마리화나를 drop 수 없습니다.
git stash drop stash@{0}
저장 여러 빼돌린 있고 필요가 없습니다 그들 중 하나를 사용할 경우 사용할 수 없습니다 clear 그들을 제거 하.
git stash clear
파일을 무시 하 고
로컬 Git 디렉터리에 파일을 유지 하려면 프로젝트에 그들을 저지 하지 않으려는 경우, 추가할 수 있습니다 이러한 파일 .gitignore 파일을 충돌을 발생 하지 않습니다.
나노 같은 텍스트 편집기를 사용 하 여 파일 .gitignore 파일을 추가 하려면.
nano .gitignore
예를 보려면 .gitignore 파일을 볼 수 있습니다 GitHub의 .gitignore 템플릿 repo.
베이스
rebase 기반 커밋 변경 하 여 분기를 이동할 수 있습니다. 베이스와 스쿼시 하거나 바꾸어 말하다 커밋 수 있습니다.
Rebase (아래의 경우5 )을 만든 커밋 수를 호출 하 여 한 rebase를 시작할 수 있습니다.
git rebase -i HEAD~5
Rebase 수 또는 특정 커밋 문자열 또는 해시 기반.
git rebase -i 074a4e5
일단 당신이 숙청 또는 커밋 reworded, 프로젝트의 업스트림 코드의 최신 버전 위에 지점의 rebase를 완료할 수 있습니다.
git rebase upstream/master
배우고 더 많은 대 한 베이스 업데이트, 읽을 수 있습니다 어떻게 Rebase 및 업데이트 당겨 요청는 커밋의 모든 종류에 적용 됩니다.
재설정
때때로, 작업 트리를 다시가 rebase 후 포함 해야 합니다. 하는 특정 커밋, 삭제 모든 변경, 다음 명령을 사용 하 여 재설정할 수 있습니다.
git reset –hard 1fc6665
푸시를 당신의 마지막 알려진된 충돌 하지 않는 커밋 원본 저장소에 해야 사용 –force.
경고: 그것을 하 고 정말 중요 한 이유가 없다면 힘 마스터를 종종 시 frowned입니다. 당신의 자신의 저장소, 및 협력 하는 경우이 방지 하려면 일에 작업 하는 경우에 아껴 서 사용 합니다.
git push –force origin master
깨끗 한에 대 한 자식 디렉터리에서 로컬 추적된 파일 및 하위 디렉터리를 제거 하려면 작업 지점, git clean 를 사용할 수 있습니다.
git clean -f -d
현재 업스트림 마스터 처럼 본다 그래야 당신의 로컬 저장소를 수정 해야 하는 경우 (즉, 너무 많은 충돌은 거기), 하드 리셋을 수행할 수 있습니다.
참고:이 명령을 수행 처럼 정확 하 게는 업스트림 로컬 저장소를 만들 것입니다. 하지만 만든 모든 커밋 파괴 될 것 이다 상류로 끌어온 하지.
git reset –hard upstream/master
결론
이 가이드는 몇 가지 더 일반적인 Git 명령을 저장소를 관리할 때 사용할 수 있습니다 다루고 그리고 소프트웨어에 협력.
오픈 소스 소프트웨어 및 오픈 소스 튜토리얼 시리즈 소개 우리의 공동 작업에 대 한 자세한 배울 수 있습니다.:
오픈 소스에 기여 하는 방법: Git와 함께 시작 하기
GitHub에 끌어오기 요청을 만드는 방법
Rebase 끌어오기 요청을 업데이트 하는 방법
오픈 소스 소프트웨어 프로젝트를 유지 하는 방법
많은 더 많은 명령이 있습니다 고로 유용 하 게 사용할 수 있는 유사 부분 Git으로 작업. 모든 사용 가능한 옵션에 대 한 자세한 내용을 보려면, 다음을 실행할 수 있습니다.
git –help
에 유용한 정보를 받을 수 있습니다. 또한 자세한 Git와 봐 공식 Git 웹사이트 에서 Git의 설명서에 대 한.
Leave a Reply