programing

분산형 워크플로우를 위한 "simple" 대 "현재" push.default intit

cafebook 2023. 10. 10. 20:56
반응형

분산형 워크플로우를 위한 "simple" 대 "현재" push.default intit

기능적으로 말하자면 분산형 워크플로우에서는 다음과 같은 차이점을 찾아볼 수 없습니다.simple그리고.current옵션push.defaultconfig setting.

current는 현재 분기를 지정된 원격에서 동일한 이름의 분기로 푸시합니다.simple현재 분기에 대해 추적된 원격과 추적되지 않은 원격 모두에 대해 동일한 작업을 효과적으로 수행합니다(두 경우 모두 동일한 분기 이름이 적용됨).

제가 누락한 분산형 워크플로우에 대해 둘 사이의 중요한 차이점을 설명해 줄 수 있는 사람이 있습니까?

다른 점은.simple,git push(refspec을 통과하지 않고) 현재 분기가 원격 업스트림 분기를 추적하지 않는 경우(원격에 동일한 이름의 분기가 있는 경우에도) 실패합니다.

$ git checkout -b foo
Switched to a new branch 'foo'

$ git config push.default simple
$ git push
fatal: The current branch foo has no upstream branch.
To push the current branch and set the remote as upstream, use

    git push --set-upstream origin foo

반면에.current현재 분기가 업스트림을 추적하든 말든 상관없이 이름이 같은 분기로 푸시하기를 원할 뿐입니다.

$ git config push.default current
$ git push
Total 0 (delta 0), reused 0 (delta 0)
To /Documents/GitHub/bare
 * [new branch]      foo-> foo

디카멘테이션

Git 구성 설명서에서:

  • upstream- 현재의 가지를 상류의 가지로 밀어넣다...

  • simple- 상류처럼 하지만 상류 지점의 이름과 지역 지점의 이름이 다르다면...

  • current- 현재 분기를 같은 이름의 분기로 푸시합니다.

다른 점은simple이름이 같으면 추적 지점으로 푸시합니다.current추적 지점에 관계없이 동일한 이름의 지점으로 푸시됩니다.

$ git branch -vvv
  master 58d9fdc [origin/master: ahead 1] t1 bobo
* new    37132d3 [origin/save: ahead 1] t1 bibi   # <- tracking branch 'save'

$ git -c push.default=current push                # <- set `push.default=current`
Counting objects: 3, done.
Writing objects: 100% (3/3), 234 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To /home/jthill/sandbox/20/t1
 * [new branch]      new -> new                   # <- and push creates `new` 

언급URL : https://stackoverflow.com/questions/23918062/simple-vs-current-push-default-in-git-for-decentralized-workflow

반응형