草庐IT

another_branch

全部标签

git流 : Should I squash commits when merging from a release branch into master?

我打算将我的发布分支merge到master,我想知道在merge到master时是否应该将develop中的提交压缩为单个merge提交。关于gitflow的一般文档包含来自Atlassian页面的如下图:在这些图中,只有单个提交出现在master上,而不是所有对develop的提交。实际上,我喜欢拥有一个仅发布提交的主分支的想法。在merge到master时,我应该保留develop上的所有提交吗?还是在遵循Gitflow时在merge到master之前压缩提交?来源文章链接:GitflowWorkflow-Atlassian 最佳答案

git - 致命 : ambiguous argument '<branch_name>' : both revision and filename

这是我做的:我运行了gitcheckout-bbranch_name。我在branch_name上做了一些提交。我检查了master分支并进行了快速merge。当我运行gitlogbranch_name--oneline时,我收到以下消息:fatal:ambiguousargument'branch_name':bothrevisionandfilenameUse'--'toseparatepathsfromrevisions,likethis:'git[...]--[...]'可能是什么问题? 最佳答案 它告诉您您有一个名为“br

git - "fatal: You are on a branch yet to be born"在这种情况下意味着什么

我正在将svn存储库迁移到git。我创建了一个干净的临时目录,使用gitsvninit在其中获取内容,然后添加了Remote并推送了它。现在在另一个实际的源目录上(我在从svn提交内容之前从空的repo克隆了它)我做了一个获取。然后我进行了checkout并收到了上述消息。过了一会儿,我认为我可以通过pull获得源代码并做到了。我的问题是该错误消息在该上下文中意味着什么?我是如何得到那个特定的错误信息的?免责声明:我是一个git新手 最佳答案 我相信这是因为你的fetch,它只获取远程引用和提交,没有给你一个本地master分支来c

git - .git/branches 文件夹的用途是什么?

我一直认为.git/branches目录是用于遗留目的,并且git过去使用该目录,但现在使用.git/refs目录反而。这是真的?如果没有,那么该目录的用途是什么,因为我从未见过它被使用或引用过。编辑我使用的是git版本1.7.3.4。 最佳答案 有用的gitrepository-layoutdocumentation中描述了.git/branches现在“略微弃用”的使用:branches:AslightlydeprecatedwaytostoreshorthandstobeusedtospecifyURLtogitfetch,g

git - 使用 git-filter-branch 提取多个目录

我有一个很大的存储库,目前在顶级子文件夹中包含多个项目,比如/a、/b、/c和/d。现在我想将该存储库分成两个不同的存储库:一个包含/a和/b,另一个包含/c和/d。我知道gitfilter-branch--subdirectory-filter,它非常适合提取单个目录,但它似乎不能一次提取多个目录。我也知道gitfilter-branch--prune-empty--tree-filter,它允许我删除所有内容,但两个想要的目录。这感觉不完全正确,因为我必须手动指定所有可能存在的顶层目录。有没有更好的方法从一个大仓库中提取两个目录?PS:当然,使用gitfilter-branch以外

Git 强制推送语法, "-f"与 "+branch"

强制推送更改时,这两个git命令有什么区别?gitpush-foriginbranch和gitpushorigin+branch 最佳答案 长话短说如果您只推送一个分支,则没有区别。gitpush-foriginbranch和gitpushorigin+branch是完全等价的。当您使用单个gitpush推送多个分支时,就会出现差异。.简而言之,可选的+比-f给你更好的控制确实:如果您一次推送多个引用,+允许您指定哪些推送的引用被强制推送,而--force(或-f)应用于所有被推送的引用。更多详情什么git-push手册页告诉你gi

Git 推送 : set target for branch

我想推送我当前的分支(hp1)gitpush不是gitpushoriginhp1:team/hp1远程分支已经存在。我本地的分支机构:developmaster*hp1gitremoteshoworigin告诉我:Remotebranches:developtrackedmastertrackedteam/h2trackedteam/hp1trackedteam/n1trackedLocalbranchesconfiguredfor'gitpull':developmergeswithremotedevelopmastermergeswithremotemasterhp1mergesw

git - 与 git branch --set-upstream 相反

我想停止跟踪某些分支。我使用gitbranch--set-upstreamfooorigin/foo设置跟踪。如何撤消此操作? 最佳答案 在即将发布的git1.8中,您将能够:gitbranch--unset-upstream但是,目前您必须执行asmanojldssuggests,并使用两个gitconfig--unset命令。 关于git-与gitbranch--set-upstream相反,我们在StackOverflow上找到一个类似的问题: http

git: 为什么 "Merge branch ' master' of ...”? pull 和推时

我还是git新手。我修改了一些源文件并提交。然后,我执行了gitpush。但是,我收到了这个错误。To/foo/bar/![rejected]master->master(non-fast-forward)error:failedtopushsomerefsto'/foo/bar/'Topreventyoufromlosinghistory,non-fast-forwardupdateswererejectedMergetheremotechangesbeforepushingagain.Seethe'Noteaboutfast-forwards'sectionof'gitpush--

git - git log --branches 有效吗?

我似乎无法让gitlog--branches正确地过滤它的输出。Git似乎忽略了它。例如gitlog--graph--all--decorate的head,打印:*commit3ae0d17538f787bdde68f37f6644ffe9652d8dc1(HEAD,feature/branch-ignore)|Author:ChrisLewis|Date:MonMar1417:39:562011-0700||Ignoremergecommits,asthey'regoingtobeduplicatingevents|*commit770534e9d77acb03eaf842440c8