Questions tagged «git»

Git是一个开源的分布式版本控制系统(DVCS)。使用此标签可解决有关Git使用和工作流程的问题。不要仅仅因为存储库恰好托管在GitHub上而使用[github]标签来解决与Git相关的问题。另外,请勿对碰巧涉及Git储存库的一般编程问题使用此标记。

9
为什么我要关心轻量级标签和带注释的标签?
去年,我从Subversion切换到Git作为我的日常VCS,但仍在尝试掌握“ Git-think”的要点。 最近困扰我的一个是“轻量级”,“带注释的”与“签名的”标签。在所有实际用途中,带注释的标签似乎都优于轻量级标签,这一点似乎已被普遍接受,但是我发现的关于这种情况的解释似乎总是归结为“由于最佳实践”或“因为它们不同”。。不幸的是,这些都是非常令人不满意的论点,却不知道为什么是最佳实践,或者这些差异与我的Git使用情况有何关系。 当我第一次切换到Git时,轻巧的标签似乎是切成薄片以来最好的东西。我可以指向一次提交,然后说“那是1.0”。我很难把握一个标签可能还需要更多的地方,但是我当然不能相信世界上的Git专家会更喜欢带注释的标签!那么,所有的话题都是什么呢? (奖励积分:为什么我需要签署标签?) 编辑 我已经成功地确信带注释的标签是一件好事-了解谁标记了标签以及何时重要!作为后续,对好的标签注释有什么建议吗?git tag -am "tagging 1.0" 1.0由于前一个标签,两者都试图汇总提交日志,这感觉就像是失去了策略。
346 git  git-tag 

18
Windows上的Git:如何设置mergetool?
我已经在Cygwin上尝试了msysGit和Git。两者都可以正常工作,并且可以完美运行gitk和git-gui。 现在我该如何配置mergetool?(Vimdiff在Cygwin上工作,但最好是我希望一些喜欢Windows的同事对用户更友好。)
346 windows  git  cygwin  msysgit 

3
git stash更改是否适用于新分支?
我当时在master分支上工作,进行了一些更改,然后进行了隐藏。现在,我的主人在HEAD。 但是现在,我想检索这些更改,但要检索到从master分支的HEAD版本分支的新分支。 我该怎么做呢 ?
346 git 

8
仅添加非空白更改
我有我的文本编辑器,可以在保存文件时自动修剪尾随空格,而且我正在为一个开源项目提供帮助,该项目在尾随空格方面存在严重问题。 每次尝试提交补丁程序时,我都必须首先手动忽略所有仅限空白的更改,仅选择相关信息。不仅如此,而且在我跑步时,git rebase由于这些原因,我通常会遇到一些问题。 因此,我希望能够以类似的方式仅将非空白更改添加到索引git add -p中,而不必自己选择所有更改。 有谁知道如何做到这一点? 编辑:我无法更改项目的工作方式,在邮件列表上进行讨论之后,他们决定忽略此问题。
343 git  whitespace 

15
以下未跟踪的工作树文件将被合并覆盖,但我不在乎
在我的分支上,我在.gitignore中有一些文件 在不同的分支上,这些文件不是。 我想将另一个分支合并到我的分支中,并且我不在乎那些文件是否不再被忽略。 不幸的是我得到这个: 以下未跟踪的工作树文件将被合并覆盖 我如何修改我的pull命令以覆盖这些文件,而不必自己查找,移动或删除这些文件?

30
git rebase:“错误:无法统计'文件':权限被拒绝”
我正在使用git,先进行一次小的提交,再进行一次大的提交。我决定git rebase在推送之前先将两个提交压缩在一起。(我以前从未做过。) 所以我做了: git rebase -i HEAD~2 这给了我编辑器,在这里我选择了较早的提交,并压缩了较晚的提交。当我保存时,git说: 错误:无法统计“ 文件名 ”:权限被拒绝 无法将sha1应用于以后的提交 ... 该提交的初始文本行 现在: 我这样做时都不会出现任何提交git log。 git status 告诉我我“当前不在任何分支机构”。 一个文件被列为已修改文件并在索引中,而两个文件被列为未跟踪文件。我的第一次提交只有一个文件(我认为),而第二次提交有很多文件。 发生了什么!?我如何解决它?
342 git  git-rebase 

14
Git扩展:Win32错误487:无法为cygwin的堆保留空间,Win32错误0
Git扩展:直到昨天一切正常。 但是当我尝试使用以下方式拉出一些存储库时,突然出现了这个错误 git extensions C:\Program Files\Git\bin\git.exe pull --progress "origin" Done 0 [main] us 0 init_cheap: VirtualAlloc pointer is null, Win32 error 487 AllocationBase 0x0, BaseAddress 0x68560000, RegionSize 0x390000, State 0x10000 C:\Program Files\Git\bin\sh.exe: *** Couldn't reserve space for cygwin's heap, Win32 error 0 我克隆的所有存储库都在发生这种情况。但是,我的git bash运行正常。我不知道发生了什么。知道为什么会这样吗?

14
为给定域的git push指定SSH密钥
我有以下用例:我希望能够推送到git@git.company.com:gitolite-admin使用用户的私钥gitolite-admin,而我想推送到git@git.company.com:some_repo使用“我自己的”私钥。AFAIK,我无法使用来解决此问题~/.ssh/config,因为在两种情况下,用户名和服务器名是相同的。由于我通常使用自己的私钥,因此在~/.ssh/configfor 中定义了私钥git@git.company.com。有谁知道一种方法来覆盖用于单个git调用的密钥? (此外:gitolite会根据密钥来区分谁在进行推送,因此就访问,所有权和审核而言,user @ server字符串对于不同用户而言是相同的,这不是问题。)
341 git  ssh  gitolite 

10
如何查看git中分支之间的提交差异?
我在branch-X上,并在其上添加了更多提交。我想看看MASTER和我所在的分支之间在提交方面的所有差异。我可以做一个 git checkout master git log 然后一个 git checkout branch-X git log 并从视觉上区分这些,但是我希望有一种更简单,更不易出错的方法。
341 git  logging  branch  git-log 

3
合并后如何处理分支
我有两个分支:master和branch1。我刚刚合并branch1回去,master并完成了该分支。我应该删除它还是让它闲逛?删除它会导致数据丢失吗?
341 git  merge  branch 

2
首选Github工作流程,用于在代码检查后更新拉取请求
我已向Github上的一个开源项目提交了更改,并收到了一位核心团队成员的代码审查意见。 我想在考虑评论意见的情况下更新代码,然后重新提交。最佳的工作流程是什么?根据我对git / github的有限了解,我可以执行以下任一操作: 将代码更新为新提交,并将初始提交和更新提交都添加到我的请求中。 以某种方式(??)从我的存储库回滚旧提交,并创建一个包含所有内容的新提交,然后对此提出一个拉取请求? git commit具有修订功能,但是我听说在将提交推送到本地存储库之外后不应该使用它吗?在这种情况下,我已经在本地PC上进行了更改并将其推送到项目的github分支。可以使用“修改”吗? 还有吗 选项2/3似乎不错,因为开放源代码项目在其历史记录中只有一次提交可以实现所有内容,但是我不确定如何做到这一点。 注意:我不知道这是否影响答案,但是我没有在单独的分支中进行更改,我只是在master上进行了提交


9
Git:仅列出“未跟踪”文件(也是自定义命令)
有没有办法使用git ls-files仅显示未跟踪文件的命令? 我问的原因是因为我使用以下命令来处理所有已删除的文件: git ls-files -d | xargs git rm 对于未跟踪的文件,我想要类似的内容: git some-command --some-options | xargs git add 我能够找到的-o选项git ls-files,但这不是我想要的,因为它还显示了被忽略的文件。我还能够提出以下冗长而丑陋的命令: git status --porcelain | grep '^??' | cut -c4- | xargs git add 似乎必须在这里使用更好的命令。如果没有,如何创建自定义git命令?

1
复杂的Git分支名称破坏了所有Git命令
我试图master使用以下命令从中创建分支, git branch SSLOC-201_Implement___str__()_of_ProductSearchQuery 当Git突然停止响应时。我怀疑未逃脱()的罪魁祸首。现在,每当我尝试运行任何Git命令时,都会出现相同的错误: git:176: command not found: _of_ProductSearchQuery git每次输入命令后数字都会增加。 谁能解释发生了什么事?我如何恢复正常?我想删除该分支,但是我该怎么做呢?


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.