草庐IT

git - "integration branch"的目的是什么?

如果分支策略由n个功能分支、一个“主”(主线)和一个“集成”分支组成。集成分支的目的是什么?为什么不能在特性分支本身进行测试和集成? 最佳答案 因为它是一个特性分支。它应该只包含与一个功能有关的更改。集成分支是在最终推送到master之前将多个功能组合在一起进行测试的地方。当然,您不必以这种方式分离事物。您可以在功能分支上进行集成,就像您可以在master上完成所有工作一样。但关注点分离是一件好事。 关于git-"integrationbranch"的目的是什么?,我们在StackOve

git - git pull 和 git reset --hard origin/<branch> 有什么区别?

我发现后者比第一个快,所以我通常在gitfetch之后每当我需要将我的本地分支与远程同步时这样做。有什么区别? 最佳答案 以下命令:gitfetchgitreset--hardorigin/将丢弃所有本地更改。作为:gitpull这与:完全相同gitfetchgitmergeorigin/将尝试保留本地更改。 关于git-gitpull和gitreset--hardorigin/有什么区别?,我们在StackOverflow上找到一个类似的问题: https:

git - git pull 和 git reset --hard origin/<branch> 有什么区别?

我发现后者比第一个快,所以我通常在gitfetch之后每当我需要将我的本地分支与远程同步时这样做。有什么区别? 最佳答案 以下命令:gitfetchgitreset--hardorigin/将丢弃所有本地更改。作为:gitpull这与:完全相同gitfetchgitmergeorigin/将尝试保留本地更改。 关于git-gitpull和gitreset--hardorigin/有什么区别?,我们在StackOverflow上找到一个类似的问题: https:

git - origin/branch_name 和 branch_name 之间的区别?

用于推送到bitbucket。如果我这样做:gitpushoriginorigin/branch_name我的提交不会被推送。Total0(delta0),reused0(delta0)如果我执行gitpushoriginbranch_name我的提交被推送:Countingobjects:160,done.Deltacompressionusingupto8threads.Compressingobjects:100%(13/13),done.Writingobjects:100%(20/20),2.10KiB|0bytes/s,done.Total20(delta6),reused

git - origin/branch_name 和 branch_name 之间的区别?

用于推送到bitbucket。如果我这样做:gitpushoriginorigin/branch_name我的提交不会被推送。Total0(delta0),reused0(delta0)如果我执行gitpushoriginbranch_name我的提交被推送:Countingobjects:160,done.Deltacompressionusingupto8threads.Compressingobjects:100%(13/13),done.Writingobjects:100%(20/20),2.10KiB|0bytes/s,done.Total20(delta6),reused

git - 如何在运行 git filter-branch 后删除旧的历史记录?

假设我有这样一棵树:...--a--b--c--d--...\e--a--k我希望它变得公正...--a--b--c--d--...我知道如何将分支名称附加到“e”。我知道我要做的事会改变历史,这是不好的。另外我想我需要使用像rebase或filter-branch这样的东西。但究竟是怎样-我迷路了。好的。情况如下:我现在有相当大的树(像这样)s--p--r/a--b--c--d--e---g--w\\t--p--ly--k但在我的第一次提交中(例如“b”)我添加了二进制文件,这使得整个repo非常沉重。所以我决定把它们带走。我用filter-branch做到了。现在,从第二次提交开始

git - 如何在运行 git filter-branch 后删除旧的历史记录?

假设我有这样一棵树:...--a--b--c--d--...\e--a--k我希望它变得公正...--a--b--c--d--...我知道如何将分支名称附加到“e”。我知道我要做的事会改变历史,这是不好的。另外我想我需要使用像rebase或filter-branch这样的东西。但究竟是怎样-我迷路了。好的。情况如下:我现在有相当大的树(像这样)s--p--r/a--b--c--d--e---g--w\\t--p--ly--k但在我的第一次提交中(例如“b”)我添加了二进制文件,这使得整个repo非常沉重。所以我决定把它们带走。我用filter-branch做到了。现在,从第二次提交开始

git - 为什么大文件在用 filter-branch 清理后仍然存在于我的 packfile 中?

我已经使用gitfilter-branch重写了我的存储库的历史以删除一些大型FLV文件。我主要关注关于removingsensitivedata的Github文章文章以及在Internet其他地方找到的类似说明:删除大型FLV:gitfilter-branch--index-filter'gitrm--cached--ignore-unmatchpublic/video/*.flv'--prune-empty----all删除原始引用:rm-rf.git/refs/original/清除刷新日志:gitreflogexpire--expire=now--all修剪无法访问的对象:gi

git - 为什么大文件在用 filter-branch 清理后仍然存在于我的 packfile 中?

我已经使用gitfilter-branch重写了我的存储库的历史以删除一些大型FLV文件。我主要关注关于removingsensitivedata的Github文章文章以及在Internet其他地方找到的类似说明:删除大型FLV:gitfilter-branch--index-filter'gitrm--cached--ignore-unmatchpublic/video/*.flv'--prune-empty----all删除原始引用:rm-rf.git/refs/original/清除刷新日志:gitreflogexpire--expire=now--all修剪无法访问的对象:gi

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修改所有三个。如果你想在不移动的情