Android Studio Git 분기 실천 에 대한 자세 한 설명
개발 장면:원 격 으로 메 인 분기 master 가 있 고 사용자 가 사용 하 는 정식 적 이 고 안정 적 인 버 전 을 제공 합 니 다.개발 지점 dev,일상 개발 에 사용.dev 들 은 로 컬 에서 자신의 Local Branch 를 임의로 만 든 다음 로 컬 master 에 통합 하여 원 격 분기 dev 에 제출 할 수 있 습 니 다.
명령 행 실천
고 수 는 모두 직접 명령 행 으로 명령 행 으로 더욱 높 아 보인다.
프로젝트 생 성
우선 안 드 로 이 드 프로젝트 GitBranchSample,Share Project on GitHub 를 만 듭 니 다.
분기 보기
로 컬 모든 지점 보기:
$ git branch
* master
master 분기 전의*문 자 는 현재 있 는 가 지 를 표시 합 니 다.원 격 모든 분기 보기:
$ git branch -r
origin/master
모든 로 컬 분기 와 원 격 분기 목록:
$ git branch -a
로 컬 dev 1 분기 만 들 기
$ git checkout -b dev1
Switched to a new branch 'dev1'
로 컬 master 브 랜 치 는 기본적으로 원 격 master 브 랜 치 입 니 다.위 명령 은 이 를 바탕 으로 로 컬 dev 1 브 랜 치 를 만 든 다음 dev 1 브 랜 치 로 전환 합 니 다.다음 두 명령 에 해당 합 니 다.
$ git branch dev1
$ git checkout dev1
원 격 분기 dev(원 격 으로 이 분기 가 있 음)에서 로 컬 분기 dev 1 을 만 들 려 면:
$ git checkout -b dev1 origin/dev
Switched to a new branch 'dev1'
개발 제출README.md 파일 을 마음대로 수정 하여 제출 합 니 다.
파일 추가
$ git add README.md
commt 정보
$ git commit -m "branch test"
[dev1 8643ecb] branch dev1
2 files changed, 3 insertions(+)
로 컬 master 분기 로 통합분기 dev 1 개발 작업 이 완료 되면 로 컬 master 분기 로 전환 할 수 있 습 니 다.
$ git checkout master
Switched to branch 'master'
로 컬 분기 dev 1 통합 진행:
$ git merge dev1
Updating 82951ea..444bb8e
Fast-forward
README.md | 1 +
1 file changed, 1 insertion(+)
Fast-forward 정보,"빠 른 진입 모드"를 통합 합 니 다.이 모드 에서 분기 정 보 를 삭제 하면 분기 정 보 를 잃 어 버 리 고--no-ff 방식 으로 merge 를 진행 할 수 있 습 니 다.
$ git merge --no-ff -m "merge with no-ff" dev1
분기 가 많 으 면 이 분기 의 역 사 는 복잡 해 질 수 있 습 니 다.rebase 를 사용 할 수 있 습 니 다.제출 한 역 사 는 선형 을 유지 합 니 다.
$ git rebase dev1
로 컬 분기 dev 1 합병 도 진행 합 니 다.로 컬 분기 삭제
$ git branch -d dev1
이것 은 삭제 입 니 다.합병 이 완료 되 지 않 으 면 알림 이 있 습 니 다.다음은 강제 삭제 입 니 다.
$ git branch -D dev1
Deleted branch dev1 (was d39f6c3).
원 격 분기 dev 만 들 기직접 제출
$ git push origin master:dev
이 콜론 은 지정 한 분기 에 제출 할 수 있 습 니 다.위의 명령 은 로 컬 master 를 원 격 dev 분기 에 제출 할 수 있 습 니 다.원 격 으로 dev 라 는 분기 가 없 으 면 생 성 됩 니 다.
git push origin master
이것 은 로 컬 master 가 원 격 메 인 분기 master 에 제출 한 것 입 니 다.다음 과 같 습 니 다.
git push origin master:master
추적 원 격 분기원 격 분기 checkout 에서 나 온 로 컬 가 지 를 추적 분기(tracking branch)라 고 합 니 다.추적 지점 은 원 격 지점 과 직접 연 결 된 로 컬 지점 입 니 다.추적 브 랜 치 에 git pull/push 를 입력 하면 Git 은 어느 서버 의 어느 브 랜 치 에 데 이 터 를 업데이트/푸 시 해 야 할 지 스스로 추정 합 니 다.
수 동 으로 추적 관계 만 들 기:
$ git branch -u origin/dev master
Branch master set up to track remote branch dev from origin.
또는:
$ git branch --set-upstream-to origin/dev master
Branch master set up to track remote branch dev from origin.
로 컬 master 지점 을 지정 하여 원 격 dev 지점 을 추적 합 니 다.모든 분기 추적 관계 보기:
$ git branch -vv
* master 444bb8e [origin/dev] branch test
원 격 분기 병합우 리 는 원 격 분기 dev 를 master 에 통합 합 니 다.어떻게 합 니까?
1.로 컬 master 분기 지정 원 격 dev 분기 추적
$ git branch -u origin/dev master
Branch master set up to track remote branch dev from origin.
2.업데이트 내용
$ git pull
remote: Counting objects: 3, done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 3 (delta 1), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (3/3), done.
From https://github.com/WuXiaolong/GitBranchSample
0138684..d0ca159 dev -> origin/dev
Updating 0138684..d0ca159
Fast-forward
README.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
3.원 격 분기 dev 개발 제출README.md 파일 을 수정 하고 제출:
파일 추가
$ git add README.md
commt 정보
$ git commit -m "merge origin/dev"
[master 44150b4] merge origin/dev
1 file changed, 1 insertion(+), 1 deletion(-)
push 진행
$ git push origin master:dev
Counting objects: 3, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 310 bytes | 0 bytes/s, done.
Total 3 (delta 1), reused 0 (delta 0)
remote: Resolving deltas: 100% (1/1), completed with 1 local object.
To https://github.com/WuXiaolong/GitBranchSample.git
d0ca159..44150b4 master -> dev
4.로 컬 master 분기 지정 원 격 master 분기 추적
$ git branch -u origin/master master
Branch master set up to track remote branch master from origin.
5.업데이트 내용
$ git pull
Already up-to-date.
6,같은 원 격 분기 master 제출commt 를 사용 하지 않 습 니 다.위 에 commt 가 있 고 origin/master 에 도 제출 되 었 습 니 다.원 격 분기 dev 와 master 는 같 습 니 다.
$ git push origin master
Total 0 (delta 0), reused 0 (delta 0)
To https://github.com/WuXiaolong/GitBranchSample.git
0138684..44150b4 master -> master
PS:이상 원 격 분기 합병,정확 한 방식 인지 모 르 겠 습 니 다.지 도 를 바 랍 니 다.원 격 분기 삭제
$ git push origin --delete dev
혹은
$ git push origin :dev
원 격 분기 dev 가 삭 제 됩 니 다.Android Studio 실천
Google 개발 도 구 는 Android Studio 이기 때문에 Android Studio 가 분기 개발 을 하 는 것 이 필요 하 다 는 것 을 알 고 있 습 니 다.
현재 분기 보기
이 가 지 는 당연히 로 컬,기본 master 를 말 합 니 다.
로 컬 dev 1 분기 만 들 기
origin/master 를 바탕 으로 checkout 로 컬 분기 dev 1.
로 컬 master 분기 로 통합
README.md 파일,add,commt 를 수정 한 다음 master 분기 로 전환 합 니 다.
그리고 로 컬 분기 dev 1 을 통합 합 니 다:
더 푸 시 하면 돼.
로 컬 분기 삭제
위의 그림 과 같이 Delete 단 추 를 누 르 면 바로 제거 합 니 다.
원 격 분기 dev 만 들 기
직접 제출 하면 원 격 master 에 제출 되 는 것 을 발견 할 수 있 습 니 다.수정 할 수 있 습 니 다.
dev 로 바 꾸 고 Enter 를 누 르 고 Push 를 누 르 면 원 격 에 분기 dev 가 생 깁 니 다.
추적 원 격 분기 보기
위의 그림 과 같이 추적 관 계 를 볼 수도 있 고 수 동 으로 수정 할 수도 있 습 니 다.
원 격 분기 병합
README.md 파일,add,commt 를 수정 하여 원 격 dev 와 master 에 각각 제출 하면 됩 니 다.명령 행 보다 훨씬 간단 하지 않 습 니까?
원 격 분기 삭제
origin/dev 를 누 르 면 바로 삭제 하면 됩 니 다.
넓히다
git fetch
$ git fetch origin master
원 격 master 의 모든 변경 사항 을 현재 분기 로 다운로드 합 니 다.git pull 과 달리 로 컬 과 통합 되 지 않 았 습 니 다.현재 원 격 라 이브 러 리 보기
클론 주소 표시:
$ git remote -v
-v 는--verbose 의 약자 로 이니셜 을 취한 다.원 격 창고 주소 수정
서버 가 주 소 를 바 꾸 려 고 합 니 다.로 컬 에 clone 에서 나 온 git 장쑤 성 이 있 으 면 Oigin 주 소 를 수정 하여 push 와 pull 을 계속 할 수 있 도록 해 야 합 니 다.프로젝트 가 있 는 디 렉 터 리 에서 명령 행 을 실행 할 수 있 습 니 다.
git remote set-url origin
분기 전환브 랜 치 1 을 새로 만 든 후 master 브 랜 치 로 전환 하려 면 Local Branches 아래 단 추 를 누 르 고 왼쪽 에 대화 상자 가 팝 업 됩 니 다.Checkout 을 누 르 면 master 브 랜 치 로 전환 할 수 있 습 니 다.Local 은 로 컬 Repo 가 존재 한 다 는 것 을 알 아야 합 니 다.직접 전환 할 수 있 습 니 다.Remote 는 원 격 창고 입 니 다.원 격 창고 의 경우 checkout 만 로 컬 로 갈 수 있 고 전환 할 수 없습니다.분기 전환,addcommt 에서 코드 분실 방지.
git push origin dev:master
로 컬 dev 지점 을 원 격 master 지점 으로 보 내기
git push origin dev:dev
원 격 dev 분기 로 로 로 컬 dev 분기 제출
git push origin :dev
원 격 으로 제출 한 dev 는 삭 제 됩 니 다.로 컬 은 저 장 됩 니 다.레 퍼 런 스
상용 Git 명령 어 목록
Git 분기 관리 정책
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Bitrise에서 배포 어플리케이션 설정 테스트하기이 글은 Bitrise 광고 달력의 23일째 글입니다. 자체 또는 당사 등에서 Bitrise 구축 서비스를 사용합니다. 그나저나 며칠 전 Bitrise User Group Meetup #3에서 아래 슬라이드를 발표했...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.