草庐IT

another_branch

全部标签

git - 干净的工作树下 `git branch -f <branch_name> <hash>` 和 `git checkout <branch_name>; git reset --hard <hash>` 之间的区别?

到目前为止,我一直使用gitcheckout;gitreset--hard将分支移回较早的提交。然后我遇到了thisquestion,但答案和评论并没有详细解释它们之间的区别。假设我有一个干净的工作树,它们之间有什么内部差异gitbranch-f和gitcheckoutgitreset--hard这些差异(如果有的话)对高级用法有什么微妙的影响吗? 最佳答案 主要区别在于gitbranch-f移动指向指定的提交而不触及HEAD、索引或工作副本,而gitcheckout&&gitreset--hard修改所有三个。如果你想在不移动的情

git - 干净的工作树下 `git branch -f <branch_name> <hash>` 和 `git checkout <branch_name>; git reset --hard <hash>` 之间的区别?

到目前为止,我一直使用gitcheckout;gitreset--hard将分支移回较早的提交。然后我遇到了thisquestion,但答案和评论并没有详细解释它们之间的区别。假设我有一个干净的工作树,它们之间有什么内部差异gitbranch-f和gitcheckoutgitreset--hard这些差异(如果有的话)对高级用法有什么微妙的影响吗? 最佳答案 主要区别在于gitbranch-f移动指向指定的提交而不触及HEAD、索引或工作副本,而gitcheckout&&gitreset--hard修改所有三个。如果你想在不移动的情

git checkout my_branch 与 git checkout origin/my_branch

当我像这样检查branch2时,我在branch1上(两个分支都存在)。gitcheckoutorigin/branch2然后我得到一个分离的头错误:Youarein'detachedHEAD'state.Youcanlookaround,makeexperimentalchangesandcommitthem,andyoucandiscardanycommitsyoumakeinthisstatewithoutimpactinganybranchesbyperforminganothercheckout.但是我只是检查branch2(没有origin)然后它工作正常:gitcheck

git checkout my_branch 与 git checkout origin/my_branch

当我像这样检查branch2时,我在branch1上(两个分支都存在)。gitcheckoutorigin/branch2然后我得到一个分离的头错误:Youarein'detachedHEAD'state.Youcanlookaround,makeexperimentalchangesandcommitthem,andyoucandiscardanycommitsyoumakeinthisstatewithoutimpactinganybranchesbyperforminganothercheckout.但是我只是检查branch2(没有origin)然后它工作正常:gitcheck

git - git branch --set-upstream-to 与 git remote add origin 之间的区别

我发现gitbranch--set-upstream-to之间的区别有点令人困惑对比gitremoteaddorigin甚至gitremoteaddupstream基本上我有一个用gitinit--bare创建的裸存储库这是在网络上共享的,这样其他开发人员也可以推送它,这样我们的项目就会在本地版本化,但不确定我应该在以上三个命令中运行哪个命令(或者如果有其他命令)来跟踪该中央仓库,例如,我们将我们的更改从所有项目推送到该中央裸仓库,并从中提取/获取。谁能请教一下这个? 最佳答案 gitremoteadd创建一个remote,它是另一

git - git branch --set-upstream-to 与 git remote add origin 之间的区别

我发现gitbranch--set-upstream-to之间的区别有点令人困惑对比gitremoteaddorigin甚至gitremoteaddupstream基本上我有一个用gitinit--bare创建的裸存储库这是在网络上共享的,这样其他开发人员也可以推送它,这样我们的项目就会在本地版本化,但不确定我应该在以上三个命令中运行哪个命令(或者如果有其他命令)来跟踪该中央仓库,例如,我们将我们的更改从所有项目推送到该中央裸仓库,并从中提取/获取。谁能请教一下这个? 最佳答案 gitremoteadd创建一个remote,它是另一

git - `--tag-name-filter cat` 什么时候需要 `git filter-branch` ?

gitfilterbranch的手册页说:use"--tag-name-filtercat"tosimplyupdatethetags.后来它甚至说:use--tag-name-filtercat----all但是--all应该包含--tags,因此所有标签都应该被正确重写。一个小测试验证了这一点:$gitinit$mkdirdir$touchdir/file$gitadd.$gitcommit-aminit$gitls-filesdir/file$gittagtag$gitfor-each-ref3006eb0a031e40901122ac8984c85ad533982f8bcomm

git - `--tag-name-filter cat` 什么时候需要 `git filter-branch` ?

gitfilterbranch的手册页说:use"--tag-name-filtercat"tosimplyupdatethetags.后来它甚至说:use--tag-name-filtercat----all但是--all应该包含--tags,因此所有标签都应该被正确重写。一个小测试验证了这一点:$gitinit$mkdirdir$touchdir/file$gitadd.$gitcommit-aminit$gitls-filesdir/file$gittagtag$gitfor-each-ref3006eb0a031e40901122ac8984c85ad533982f8bcomm

git - 将 master merge 到 branch 和将 branch merge 到 master 有什么区别?

我有一个名为master的分支和另一个名为dev的分支。通常,我在dev上进行测试和改进;完成后,我将它merge到master中,标记它,然后发布应用程序的新版本。现在,我面临关于merge的决定:mergemaster到devmergedev到master但我不太确定两者有何不同...欢迎任何解释。 最佳答案 长话短说主要区别在于master和dev分支最终指向的位置。完整解释将一个分支merge到另一个不是对称操作:将devmerge到master中,并且mergemaster到dev,一般而言,它们并不等同。这是一个说明性的

git - 将 master merge 到 branch 和将 branch merge 到 master 有什么区别?

我有一个名为master的分支和另一个名为dev的分支。通常,我在dev上进行测试和改进;完成后,我将它merge到master中,标记它,然后发布应用程序的新版本。现在,我面临关于merge的决定:mergemaster到devmergedev到master但我不太确定两者有何不同...欢迎任何解释。 最佳答案 长话短说主要区别在于master和dev分支最终指向的位置。完整解释将一个分支merge到另一个不是对称操作:将devmerge到master中,并且mergemaster到dev,一般而言,它们并不等同。这是一个说明性的