체크아웃 없이 다른 분기를 현재 상태로 재설정
Git 워크플로우를 위한 스크립트를 작성하고 있습니다.
체크아웃을 하지 않고 다른 지점을 현재 지점으로 리셋해야 합니다.
이전:
CurrentBranch: commit A
OtherBranch: commit B
이후:
CurrentBranch: commit A
OtherBranch: commit A
동치
$ git checkout otherbranch
$ git reset --soft currentbranch
$ git checkout currentbranch
(참고--soft
: 작업 트리에 영향을 주고 싶지 않습니다.)
가능한가요?
세트otherbranch
과 같은 약속을 가리키다currentbranch
달리다
git branch -f otherbranch currentbranch
그-f
(힘) 옵션이 말해줍니다.git branch
네, 저는 정말로 모든 기존 참조를 새 참조로 덮어쓰려고 합니다.
설명서에서:
-f
--force이미 있는 경우로 재설정합니다.Without -fit 분기는 기존 분기 변경을 거부합니다.
설명하는 워크플로우는 다음과 동일하지 않습니다.reset --hard
작업 트리의 모든 변경 사항을 잃게 됩니다(작업을 수행할 수 있음).reset --soft
).
당신에게 필요한 것은
git update-ref refs/heads/OtherBranch refs/heads/CurrentBranch
언제든지 분기를 이 명령과 동기화할 수 있습니다.
$ git push . CurrentBranch:OtherBranch -f
또한 -fit 없이 이 명령 집합을 바꿉니다.
$ git checkout OtherBranch
$ git merge CurrentBranch
$ git checkout CurrentBranch
현재 분기에서 모든 파일을 커밋할 필요가 없어서 다른 분기로 전환할 수 없을 때 유용할 수 있습니다.
다른 대답들은 좋지만 조금 무섭습니다.저는 단지 제가 매일 사용하는 명령어의 변형으로 요구했던 것을 정확히 달성하기 위한 또 다른 옵션을 제공할 뿐입니다.
간단히 말해, 이 옵션들 중 어떤 것도 현재의 분기나 현재의 헤드를 망치지 않습니다.
git branch -C other_branch
(현재 HEAD에서 other_branch 강제 생성)
사용자가 아닌 분기로 other_branch를 재설정하려면...
git branch -C old_branch other_branch
(orce-create other_graphics를 old_graphics에서 강제 생성)
원격에서 other_branch를 some_branch로 재설정하려면 조금 다릅니다...
git pull -f origin old_branch:other_branch
(이미 최신 상태를 무시하는 force-limit) origin/old_limit을 local의 other_limit에 적용)
git branch -f
업스트림 브랜치 정보 등을 파괴합니다.입력하기git update-ref
기본적으로 깨끗하게 작동하는 명령어는 지루하고 오류가 발생하기 쉽습니다.그것은 아래에서 어떤 종류의 말도 안 되는 파일을 만들 수 있습니다..git
.
이 작업은 자주 필요하므로 안전한 별칭이나 스크립트를 통해 수행합니다.
git reset-other OTHERBRANCHNAME TARGETREF
구성에 이 별칭을 추가한 후:
[alias]
reset-other = "!f() { git show -s refs/heads/$1 -- && git update-ref refs/heads/$1 $2 && git show -s $1; }; f"
명령줄에서 추가:
git config --global alias.reset-other "!f() { git show -s refs/heads/$1 -- && git update-ref refs/heads/$1 $2 && git show -s $1; }; f"
이동이 잘못된 목표를 전표로 성공시켰을 때 다시 이동할 수 있는 SHA가 이미 화면에 인쇄되어 있습니다.
언급URL : https://stackoverflow.com/questions/1591107/reset-other-branch-to-current-without-a-checkout
'programing' 카테고리의 다른 글
자바빈과 스프링빈의 차이 (0) | 2023.09.07 |
---|---|
스택 오버플로에서와 같이 팝업 메시지를 표시하는 방법 (0) | 2023.09.07 |
web.config 변환에서 IIS 다시 쓰기 규칙 대체 (0) | 2023.09.07 |
MySQL/MariaDB에서 롤업 null로 그룹을 식별하는 방법은? (0) | 2023.09.07 |
셀레늄에서 원소의 속성을 얻는 방법 (0) | 2023.09.07 |