Git 일상 사용 요약
5455 단어 Study
문서 목록
$ git config --global user.name "username"
$ git config --global user.email "email"
그중 - 글로벌 매개 변수는 이 기계의 모든 Git 창고에서 이 설정을 사용할 수 있음을 나타낸다.
버전 라이브러리 만들기
파일 추가
$ git add test.txt // , , , Untracked , Git
$ git commit -m "explanation" // , -m
$ git add file1.txt
$ git add file2.txt file3.txt
$ git commit -m "add 3 files."
첫 번째 수정 – >add – > 두 번째 수정 – >commit의 경우 두 번째 수정은 제출되지 않으며 Git에 동기화된 것은 첫 번째 수정만 있습니다
상태 보기
$ git status // , ( , )
$ git diff test.txt // test.txt
오류 수정을 피하기 위해 두 가지를 사용합니다. 오류가 없는지 확인한 후에dd와commit 명령을 통해git에 추가할 수 있습니다
버전 예비(fallback)
$ git log //
$ git log --pretty=oneline // ( )
Git , HEAD ,HEAD^ ,HEAD^^ ,HEAD~100 100
$ git reset --hard HEAD^ //
$ git reset --hard xxxxx // , xxxx (commit id)
$ git reflog // , ,
모든 수정 사항 취소
$ git checkout -- test.txt // test.txt ( commit )
$ git reset HEAD test.txt // ,
작업공간 변경 내용 폐기 및 로케이션 변경 내용 폐기
파일 삭제
$ git rm test.txt //
$ git commit //
만약 로컬에서 파일을 잘못 삭제했다면 명령을 통과할 수 있다
$ git checkout -- test.txt //
Git 원격 웨어하우스
원격 창고, 즉 GitHub을 서버의 무료 위탁 관리 Git 창고로 충당합니다.로컬과 GitHub의 Git 창고를 원격으로 동기화할 수 있습니다. 이로써 GitHub의 창고를 백업할 수 있을 뿐만 아니라 다른 사람들이 이 창고를 통해 협업할 수 있습니다.
원격 라이브러리 추가
로컬 라이브러리가 이미 존재합니다. 새 원격 라이브러리를 만듭니다.
$ git remote add origin [email protected]:username/projectName.git // GitHub Git ,username GitHub ,projectName
$ git push -u origin master // master , -u Git master master , master ,
$ git push origin master // master GitHub
원격 라이브러리가 이미 존재합니다. 새 로컬 라이브러리를 만듭니다.
$ git clone [email protected]:username/projectName.git //
$ git clone https://github.com/username/projectName.git //
지점 관리
브랜치 생성, 보기, 삭제 및 결합
$ git branch name // ,name
$ git checkout name // name
$ git checkout -b name // name,
$ git branch // , *
$ git merge name // name
$ git branch -d name // name
분기를 병합할 때 Git는 가능한 한 Fast forward 모드, 즉 바늘 방향을 바꾸며, 이 모드에서 분기를 삭제하면 분기 정보를 잃어버립니다.하지만 명령어
$ git merge --no--ff name
로 Fast forward 모드를 강제로 비활성화할 수 있습니다.충돌 해결
충돌의 발생은 두 지점의 제출 내용이 일치하지 않고 지침을 바꾸어 해결할 수 없기 때문이다. 이때 Git는 충돌이 발생했음을 알려주고
$ git status
를 사용하면 충돌 파일을 볼 수 있고 cat test.txt
를 사용하면 충돌 위치를 볼 수 있으며 충돌을 수동으로 수정하여 해결한 후에 제출하면 합병이 완료된다.$ git log --graph --pretty=oneline --abbrev-commit // ,
물론 SourceTree와 같은 시각적 Git 관리 소프트웨어를 통해 충돌을 해결하는 것이 훨씬 편리할 것이다
분기 정책
Bug 분기
$ git stash //
$ git stash list //
$ git stash apply // , stash
$ git stash drop // stash
$ git stash pop // stash
버그를 복구할 때, 우리는 새로운 버그 지점을 만들어서 복구한 다음, 합쳐서 마지막에 삭제합니다.
수중의 작업이 완성되지 않았을 때 지령
$ git stash
을 통해 현재 작업 현장을 저장한 다음에 버그를 복구하고 복구한 후에 지령$ git stash pop
을 통해 작업 현장을 복구할 수 있다.Feature 분기
새 기능을 추가할 때, 새 지점을 만드는 것이 가장 좋다.
통합되지 않은 지점을 버리면 명령어
$ git branch -D name
를 통해 실현할 수 있습니다. (대문자 D)다인 협조
$ git remote //
$ git remote -v //
$ git push origin master // , 。 , // , master,Git
$ git pull //
$ git checkout -b name origin/name // ,name
$ git branch --set-upstream name origin/name //