草庐IT

git - 为什么 Git 在我运行 "Not currently on any branch"后告诉我 "git checkout origin/<branch>"?

我试图按照Git:"Notcurrentlyonanybranch."Isthereaneasywaytogetbackonabranch,whilekeepingthechanges?中的说明进行操作但是gitcheckout似乎被破坏了:$gitcheckoutorigin/web-zachHEADisnowat1366cb1...Changedsocssfilesnotignored$gitstatus#Notcurrentlyonanybranch.#Untrackedfiles:#(use"gitadd..."toincludeinwhatwillbecommitted)##

git - `git branch -r` 未显示远程 git 分支?

我的本​​地计算机上有两个目录指向同一个远程git存储库。当我在其中一个目录中发出命令gitbranch-r时,我得到了比另一个目录更长的远程分支列表。这怎么可能?似乎某些远程分支“stash”在一个目录中,而在另一个目录中可见。 最佳答案 我有同样的问题,无法在我的本地目录之一上获取远程分支。gitbranch-r会显示较少的分支,也不会显示最顶层的更改,而在另一个目录上,一切都很好地刷新。为了解决这个问题,我在两个目录上执行了gitconfig-l并发现我缺少remote.origin.fetch设置。运行以下行解决了我的问题:

git - 如何删除 remotes/origin/{branch}?

如何删除remotes/origin/{branch}? 最佳答案 使用:gitremotepruneorigin或使用gitremotepruneorigin--dry-run预览哪些分支将被删除。如githelpremote修剪删除下所有陈旧的远程跟踪分支。这些陈旧的分支已经从引用的远程存储库中删除,但仍然在“remotes/”中本地可用。使用--dry-run选项,报告将修剪哪些分支,但实际上并不修剪它们。 关于git-如何删除remotes/origin/{branch}?,我们

git - git 工作树中的 '<Branch >' is already checked out at ' </other/location>'

我开始使用gitworktrees。它似乎有效,但在尝试检查克隆的工作树中的分支时出现此错误:fatal:''isalreadycheckedoutat''如何在不删除.git/worktrees目录的情况下解决这个问题? 最佳答案 Git不会让您检查同一个分支两次,因为如果您这样做,然后转到两个工作树之一并进行新的提交,那么当您返回时,您将陷入痛苦之中到其他工作树。如果您实际上已经删除了其他工作树,只需运行gitworktreeprune让Git意识到这一点。如果您没有实际删除其他工作树,请不要检查它两次:这没有意思。

Github 桌面 : "Update from <branch>" button

在下面这张来自Github(c)桌面应用程序的图片中,有这个按钮“从主服务器更新”(在本例中)。我想知道是否有人了解它触发的确切git函数。如果使用merge或rebase,我主要感兴趣。(我找不到任何类型的日志控制台)。 最佳答案 GitHubDesktop中按钮下的git命令没有详细记录,所以我前一段时间调查了一下。我得出的结论是“更新自...”按钮已发送gitmerge--no-ff-m"Merge"或与设置为的“比较”分支几乎相同的东西在GitHubDesktopGUI中。我是这样得出结论的:首先,我将我控制的存储库fork

git - "Proper" pull git "production branch"到生产服务器的方法

我对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

git - 总是 git pull --rebase master branch 可以吗

我们是一个使用git的团队,我们有一个中央存储库(单一来源),我们用它来push和pull(capistrano使用它来部署分支大师)我们定期提交和部署(每天部署10~20次),这意味着我们有很多merge提交,gitblame成为一场噩梦我读过,为了让历史更简单,我们可以使用gitpull--rebase来避免这种情况。始终在master分支上执行此操作是个好主意吗?如果是,我建议在配置中设置它:gitconfigbranch.master.rebasetrue这有什么问题吗? 最佳答案 完全没有问题。事实上,这是首选。99%的情

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