我正在尝试弄清楚如何正确使用此命令。我相信这是我想要将一个分支变成我的另一个分支的命令和标志(基本上删除一个分支并创建一个与另一个分支的文件同名的新分支),但我不确定,或者我的语法是否正确。如果我这样做:gitbranch-fmastersub-branch它会删除主分支中的所有文件并用子分支中的文件填充它吗? 最佳答案 -f参数代表--force。如果名为master的分支已经存在,git将不允许您覆盖它,除非您使用-f。第二个参数(sub-branch)将用于确定master分支的HEAD应该指向的位置。
gitbranch--merged似乎不能很好地与--squash配合使用。如果您执行普通的gitmerge,那么gitbranch--merged会告诉您哪些分支已被merge。但是,如果使用--squash选项,则情况并非如此,即使生成的树是相同的。我怀疑这是一个git缺陷,想知道我是否遗漏了一些git-fu,或者我是否误解了什么。简而言之:我想使用--squash,但也希望git告诉我我压缩到另一个分支中的分支是否已被--merged。 最佳答案 你不能从这里到达那里(正如指路的人所说)。更准确地说,它没有意义。问题是gitm
如果仅使用分支名称checkout一个分支,HEAD将更新为指向该分支。$gitcheckoutbranchSwitchedtobranch'branch'如果我使用refs/heads/branch或heads/branchcheckout分支,则HEAD变得分离。$gitcheckoutrefs/heads/branchNote:checkingout'refs/heads/branch'.Youarein'detachedHEAD'state.Youcanlookaround,makeexperimentalchangesandcommitthem,andyoucandiscar
假设我使用gitflowfeaturestartFEATURENAME创建了一个新功能然后使用gitflowfeaturepublishFEATURENAME发布它现在我的同事想和我合作开发这个功能,他就这么做了gitflowfeaturepullFEATURENAME这会根据远程仓库中的功能分支在他的本地仓库上创建一个新分支。然而,这并没有设置他的本地特性分支来跟踪远程特性分支,所以现在他必须手动跟踪这个分支。这个额外步骤背后的原因是什么?为什么不将featurepull命令也设置为跟踪?gitflowfeaturepull和gitflowfeaturetrack之间的工作流程有什么
我试图按照Git:"Notcurrentlyonanybranch."Isthereaneasywaytogetbackonabranch,whilekeepingthechanges?中的说明进行操作但是gitcheckout似乎被破坏了:$gitcheckoutorigin/web-zachHEADisnowat1366cb1...Changedsocssfilesnotignored$gitstatus#Notcurrentlyonanybranch.#Untrackedfiles:#(use"gitadd..."toincludeinwhatwillbecommitted)##
我的本地计算机上有两个目录指向同一个远程git存储库。当我在其中一个目录中发出命令gitbranch-r时,我得到了比另一个目录更长的远程分支列表。这怎么可能?似乎某些远程分支“stash”在一个目录中,而在另一个目录中可见。 最佳答案 我有同样的问题,无法在我的本地目录之一上获取远程分支。gitbranch-r会显示较少的分支,也不会显示最顶层的更改,而在另一个目录上,一切都很好地刷新。为了解决这个问题,我在两个目录上执行了gitconfig-l并发现我缺少remote.origin.fetch设置。运行以下行解决了我的问题:
如何删除remotes/origin/{branch}? 最佳答案 使用:gitremotepruneorigin或使用gitremotepruneorigin--dry-run预览哪些分支将被删除。如githelpremote修剪删除下所有陈旧的远程跟踪分支。这些陈旧的分支已经从引用的远程存储库中删除,但仍然在“remotes/”中本地可用。使用--dry-run选项,报告将修剪哪些分支,但实际上并不修剪它们。 关于git-如何删除remotes/origin/{branch}?,我们
我开始使用gitworktrees。它似乎有效,但在尝试检查克隆的工作树中的分支时出现此错误:fatal:''isalreadycheckedoutat''如何在不删除.git/worktrees目录的情况下解决这个问题? 最佳答案 Git不会让您检查同一个分支两次,因为如果您这样做,然后转到两个工作树之一并进行新的提交,那么当您返回时,您将陷入痛苦之中到其他工作树。如果您实际上已经删除了其他工作树,只需运行gitworktreeprune让Git意识到这一点。如果您没有实际删除其他工作树,请不要检查它两次:这没有意思。
在下面这张来自Github(c)桌面应用程序的图片中,有这个按钮“从主服务器更新”(在本例中)。我想知道是否有人了解它触发的确切git函数。如果使用merge或rebase,我主要感兴趣。(我找不到任何类型的日志控制台)。 最佳答案 GitHubDesktop中按钮下的git命令没有详细记录,所以我前一段时间调查了一下。我得出的结论是“更新自...”按钮已发送gitmerge--no-ff-m"Merge"或与设置为的“比较”分支几乎相同的东西在GitHubDesktopGUI中。我是这样得出结论的:首先,我将我控制的存储库fork
我对Git很陌生,已经阅读了ProGit书@http://git-scm.com/book/en/Git-Branching-Basic-Branching-and-Merging.我的问题是我今天所做的是否是使用生产服务器和远程Git存储库的首选方式。我将我的存储库托管在GitHub上,使用三个远程分支:开发->测试->主控。每当'testing'分支被证实工作时,我在本地gitmerge'master'和'testing'(快进?),并且gitpush'master'到GitHub。在生产服务器(/opt/www/url.com/)上我做了:gitinitgitremoteaddo