草庐IT

git fetch origin --prune 不删除本地分支?

有一次我认为gitfetchorigin--prune删除了服务器上不再存在的本地分支。不知何故,这不是我目前的经验。我运行了这个命令,并没有删除本地分支。当前未checkout。我运行gitbranch-vv来检查这个信息,我看到了feature/MyGreatFeaturef30efc7[origin/feature/MyGreatFeature:gone]所以它好像知道它没了。为什么它不删除我的本地分支?运行git版本2.7.4(AppleGit-66) 最佳答案 以下命令链可用于删除本地分支:gitbranch--v|gre

git fetch origin --prune 不删除本地分支?

有一次我认为gitfetchorigin--prune删除了服务器上不再存在的本地分支。不知何故,这不是我目前的经验。我运行了这个命令,并没有删除本地分支。当前未checkout。我运行gitbranch-vv来检查这个信息,我看到了feature/MyGreatFeaturef30efc7[origin/feature/MyGreatFeature:gone]所以它好像知道它没了。为什么它不删除我的本地分支?运行git版本2.7.4(AppleGit-66) 最佳答案 以下命令链可用于删除本地分支:gitbranch--v|gre

git - 你如何删除远程 git branch "properly",也就是为所有用户更新远程分支列表?

我正在尝试删除一个远程git分支,但是该过程并没有像我预期的那样“完全”删除该分支。例如,假设我要删除一个名为mybranch的分支。为此,我运行以下命令,gitpushorigin:mybranch这会按预期删除分支,如果我执行gitbranch-a它不再出现在本地或远程列表中。我遇到的问题是,如果我去另一个人的机器上执行gitpull而分支存在,他们执行gitbranch-a,它是仍然作为远程分支在他们的列表中。我们已经尝试了多个命令,pull、gc、prune,但没有更新此列表和删除远程分支。是否有命令同步(我只能假设是)远程分支列表的本地缓存,并删除任何不再存在的远程分支?

git - 你如何删除远程 git branch "properly",也就是为所有用户更新远程分支列表?

我正在尝试删除一个远程git分支,但是该过程并没有像我预期的那样“完全”删除该分支。例如,假设我要删除一个名为mybranch的分支。为此,我运行以下命令,gitpushorigin:mybranch这会按预期删除分支,如果我执行gitbranch-a它不再出现在本地或远程列表中。我遇到的问题是,如果我去另一个人的机器上执行gitpull而分支存在,他们执行gitbranch-a,它是仍然作为远程分支在他们的列表中。我们已经尝试了多个命令,pull、gc、prune,但没有更新此列表和删除远程分支。是否有命令同步(我只能假设是)远程分支列表的本地缓存,并删除任何不再存在的远程分支?

git - 显示 Git 分支结构

有没有办法在Git中只显示分支结构?有许多工具可以图形方式显示提交,但在我的例子中,列表太长以至于无法看到结构。我想git-log可能是答案,但我找不到任何只显示分支提交的开关。这与“--graph--branches--oneline--all”一起可以达到目的。编辑:我正在寻找一种在Ubuntu中执行此操作的方法。 最佳答案 我不确定你所说的“分支结构”是什么意思。gitlog可以帮助可视化通过提交创建的分支(参见blogpost):[alias]lg=log--graph--pretty=format:'%Cred%h%Cre

git - 显示 Git 分支结构

有没有办法在Git中只显示分支结构?有许多工具可以图形方式显示提交,但在我的例子中,列表太长以至于无法看到结构。我想git-log可能是答案,但我找不到任何只显示分支提交的开关。这与“--graph--branches--oneline--all”一起可以达到目的。编辑:我正在寻找一种在Ubuntu中执行此操作的方法。 最佳答案 我不确定你所说的“分支结构”是什么意思。gitlog可以帮助可视化通过提交创建的分支(参见blogpost):[alias]lg=log--graph--pretty=format:'%Cred%h%Cre

git - Git 中的 merge 是对称的吗?

假设我们有两个分支(B和C),它们从一个共同的祖先A中分离出来。从Bmerge到C会产生与从Cmerge到B相同的结果吗?A|/\BC为了澄清-我假设任何手动merge冲突解决方案都会在两个方向上发生。但是发生的任何自动merge是否会导致选择相同的代码?这是我的假设,因为提交日期在两个方向上都是相同的。进一步澄清-我知道实际merge会根据方向产生彼此的“镜像”。我只是问自动解决的冲突。 最佳答案 默认merge的答案是肯定的。三路merge找到一个共同的祖先,然后应用双方的差异,这是一个不依赖于顺序的操作。merge排序和交换性

git - Git 中的 merge 是对称的吗?

假设我们有两个分支(B和C),它们从一个共同的祖先A中分离出来。从Bmerge到C会产生与从Cmerge到B相同的结果吗?A|/\BC为了澄清-我假设任何手动merge冲突解决方案都会在两个方向上发生。但是发生的任何自动merge是否会导致选择相同的代码?这是我的假设,因为提交日期在两个方向上都是相同的。进一步澄清-我知道实际merge会根据方向产生彼此的“镜像”。我只是问自动解决的冲突。 最佳答案 默认merge的答案是肯定的。三路merge找到一个共同的祖先,然后应用双方的差异,这是一个不依赖于顺序的操作。merge排序和交换性

git - 在 Jenkins Pipeline/Jenkinsfile 中获取 git 分支名称

我已经创建了一个jenkins管道,它正在从scm中提取管道脚本。我将分支说明符设置为“all”,因此它建立在对任何分支的任何更改之上。如何从Jenkinsfile访问导致此构建的分支名称?除了sh(returnStdout:true,script:'gitrev-parse--abbrev-refHEAD').trim()始终是master。 最佳答案 使用多分支管道作业类型,而不是普通的管道作业类型。多分支管道作业确实拥有描述分支的环境变量env.BRANCH_NAME。在我的脚本中..stage('Build'){node{e

git - 在 Jenkins Pipeline/Jenkinsfile 中获取 git 分支名称

我已经创建了一个jenkins管道,它正在从scm中提取管道脚本。我将分支说明符设置为“all”,因此它建立在对任何分支的任何更改之上。如何从Jenkinsfile访问导致此构建的分支名称?除了sh(returnStdout:true,script:'gitrev-parse--abbrev-refHEAD').trim()始终是master。 最佳答案 使用多分支管道作业类型,而不是普通的管道作业类型。多分支管道作业确实拥有描述分支的环境变量env.BRANCH_NAME。在我的脚本中..stage('Build'){node{e