Android Studio Git 분기 실천 에 대한 자세 한 설명

8529 단어 AndroidStudioGit
새로운 회사 의 일부 프로젝트 는 Git 을 사 용 했 습 니 다.예전 에 회 사 는 모두 svn 이 었 습 니 다.Git 을 연습 하기 위해 저 는 개인 앱 을 사 용 했 습 니 다.그러나 간단 한 git pull/push 만 사 용 했 고 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 분기 관리 정책
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기