草庐IT

branches

全部标签

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

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,它是另一