git 상용 조작 강좌
21333 단어 git
이것은 git가 자주 사용하는 조작의 가장 완전한 강좌라고 말할 수 없다. 이것은 본인이 선인을 바탕으로 3년여 동안git총결을 응용한 것이기 때문에 비교적 완전해야 한다. 다음에 나는git가 흔히 볼 수 있는 오류를 총결할 것이다.
git 기본 작업 절차
git는 여러 가지 다른 작업 프로세스를 지원합니다. 우리는 SVN과 가까운 아날로그 중앙 서버 프로세스를 사용합니다.즉, 공용 코드 라이브러리가 서버에 놓여 있는데 개발자가 이 공유된 서버에서 복제한 후에 로컬에서 개발한 다음에 서버에 제출하고 서버에서 다른 사용자가 제출한 내용을 얻는다.
주의git는 분포식 코드 제어 시스템이기 때문에 모든 코드 라이브러리는 평등하다. 여기는 논리적으로 중앙 서버를 구분했을 뿐이다. 물리적 구조에서 중앙 코드 라이브러리는 로컬 코드 라이브러리와 다를 것이 없다.[편집] 계정git를 만들면 여러 프로토콜을 사용하여 코드 라이브러리 간에 통신할 수 있습니다.우리는 현재 ssh 프로토콜을 사용하고 있으며, 사용자가 서버에 ssh 계정을 가지고 있어야만 코드 라이브러리에 접근할 수 있습니다.사용자는 이 컴퓨터에서 ssh 키를 만들어서 관리자에게 보내고 키를 자신의 컴퓨터에 저장해야 합니다.이렇게 하면 키로 서버를 연결할 수 있다.
일을 시작하다
작업을 시작하기 전에 중앙 서버의 코드 라이브러리를 복제해야 합니다.$ git clone /server/repo/project
로컬 수정 및 제출
git의 제출 작업은 로컬에서 이루어지며 네트워크 연결이 필요하지 않습니다.$ git checkout branch
--- ...
$ git add newfile
$ git commit -a
---
중앙 서버에서 다른 사람의 업데이트 가져오기
이 조작은 실제적으로 업데이트를 가져오고 로컬 코드와 두 개의 조작을 합친 것이다.두 사람이 같은 곳을 고쳤을 가능성이 있기 때문에 충돌이 일어날 수도 있다.충돌이 발생하면 수동으로 코드를 통합해야 합니다.$ git pull
commit
$ git push
1: 버전 제어 수칙
$ git clone /server/repo/project
$ git checkout branch
--- ...
$ git add newfile
$ git commit -a
---
$ git pull
commit
$ git push
2:git 창고
요청 코드
$ git clone ssh://%%%%.git
$ git clone ssh://%%%%%%.git
3: 로컬 코드 라이브러리 관리
1.git가 당신의 사용자 이름을 사용해서 매번commit을 표시하도록 합니다
$ git config --global user.name "hufeng"
$ git config --global user.email hufeng@hufengvip.cn
2. 현재 디렉터리에서 코드 라이브러리 초기화
$ git init
3. 모든 파일을 버전 제어에 넣기
$ git add .
4.commit 수정된 모든 파일
$ git commit -a
5. 코드 라이브러리에 대한 수정 사항을 버리고 HEAD 버전으로 복원
$ git checkout -f
$ git reset --hard
6. 로그 디스플레이 최적화
git log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit
7. 분기 만들기
$ git branch test
8. 한 지점으로 전환
$ git checkout test
9. 주 브랜치로 전환
$ git checkout master
10. 명령행 프롬프트 스크립트
아래 스크립트를 ~/.프로필 또는 ~/.bashrc에서 명령줄의 알림부호는 현재git 지점 이름을 표시합니다.예: ~/Projects/cmb(master)$
function parse_git_branch {
ref=$(git symbolic-ref HEAD 2> /dev/null) || return
echo "("${ref#refs/heads/}")"
}
PS1="\w \$(parse_git_branch)\$ "
셋.원격 코드 라이브러리 작업
1.git 프로토콜을 사용하여 로컬 코드 라이브러리 공유
git 자체에 서버 명령을 가지고 있습니다. 시작하면 다른 기계는git 프로토콜로 본 컴퓨터의 코드 라이브러리에 접근할 수 있습니다
$ git daemon --export-all --base-path=/home/pub/projects/ test.git
참고:
2. 버전 라이브러리에서 파일 삭제
git rm -rf --cached CCB.xcodeproj/project.xcworkspace/xcuserdata/
--cached
3. 원격 창고의 이름 변경
새 Git에서는 git remote rename 명령으로 원격 창고의 간단한 이름을 수정할 수 있습니다. 예를 들어 pb를 paul로 바꾸려면 이렇게 실행할 수 있습니다.
$ git remote rename pb paul
$ git remote origin pau
원격 창고의 이름을 바꾸는 것도 대응하는 지점의 이름을 변화시킬 수 있습니다. 원래의 pb/master 지점은paul/master가 되었습니다.
4. 원격 창고 삭제
원격 창고 서버가 이전되거나 원래의 복제 렌즈가 사용되지 않거나 참여자가 코드를 공헌하지 않으면 대응하는 원격 창고를 제거하고gitremoterm 명령을 실행할 수 있습니다.
$ git remote rm branchA
또는
$ git push origin :xx //
$ git branch -d xx //
5. 지정된 브랜치 지정 파일 업데이트
$ git checkout
$ git checkout master HFFrame/Global/Global_macro.h
6. 원격 코드 라이브러리 복사
$ git clone git://10.150.150.136/test.git test
7. 원격 코드 라이브러리의 주 지점에서 최신 코드 가져오기
첫 번째:
$ git pull git://10.150.###.###/test.git master
$ git pull ssh://10.150.###.###/test.git master
이후:
$git pull origin master
pull push
.git/config
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
ignorecase = true
[remote "origin"]
fetch = +refs/heads/*:refs/remotes/orig in/*
url = ssh://[email protected]:6521 /cmblife.git
[branch "master"]
remote = origin
merge = refs/heads/master
[branch "hufeng"]
remote = origin
merge = refs/heads/hufeng
8. 원격 코드 라이브러리에 로컬 코드 라이브러리 수정 전송
마스터 지점에 제출할 경우:
$ git push origin master
원격 코드 라이브러리는 비어있는bare 라이브러리여야 합니다. 그렇지 않으면workingcopy를 혼란스럽게 할 수 있습니다!!만약workingcopy가 깨끗하다면gitcheckout-f를 사용하여 코드 라이브러리를 동기화할 수 있습니다.만약 이미 수정을 했다면, 동기화 상태를 회복할 좋은 방법이 없을 것이다.
9. 원격 코드 라이브러리에 분기 만들기
때때로 로컬에서 만든 지점은 원격 코드 라이브러리의 지점에 공유하기를 원합니다. 다음 명령은 원격에서 브랜치라는 지점을 만들고 로컬의 브랜치 지점과 연결합니다.
$ git push origin branch
이후,gitpush를 사용하여 코드를 원격 라이브러리에 공유할 수 있습니다.
10. 로컬에 원격 라이브러리를 연결하는 지점
이 명령을 사용하려면 로컬에서 원격 지점을 가져와야 할 때가 있습니다.
$ git branch --track origin/branch
이후gitpull을 사용하여 원격 업데이트를 받을 수 있습니다
11. 모든 원격 지점 다운로드
$ get fetch --all
가능한 오류
$ git remote addorigin [email protected]:defnngj/hello-world.git
오류 알림:fatal:remote origin이 이미 존재합니다.
해결 방법:
$ git remote rm origin
그리고 실행: $git remote add [email protected]:defnngj/hello-world.git 는 잘못 을 보고하지 않을 것 이다
기본 프로세스 단계
git .init git add * git remote add origin dev@faa git commit -a -m “” git push origin master
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Heroku H10/503 오류 해결 방법 - 이야기
오후 2시 30분까지 내 이해 수준에 따라 배포할 준비가 된 내 코드 를 완성했습니다.
몇 달 전에 플랫폼에 Node.js 앱을 배포하여 을 따르기로 결정했습니다.
How to solve Heroku H10 erro...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Heroku H10/503 오류 해결 방법 - 이야기오후 2시 30분까지 내 이해 수준에 따라 배포할 준비가 된 내 코드 를 완성했습니다. 몇 달 전에 플랫폼에 Node.js 앱을 배포하여 을 따르기로 결정했습니다. How to solve Heroku H10 erro...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.