Questions tagged «git»

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

6
如何使用git bisect?
我读了一些文章说那git bisect太好了。但是,我不是母语人士,而且我不明白为什么它很棒。 有人可以用一些代码示例进行演示: 如何使用它? 就像svn blame吗?
437 git  git-bisect 

6
将.gitignore应用于已提交的文件
我已经提交了许多文件,现在我想忽略它们。我怎样才能告诉git现在忽略以后提交的这些文件? 编辑:我也想从存储库中删除它们。它们是在构建后或为用户特定的工具支持后创建的文件。
436 git 


23
Git Bash在Windows 7 x64上非常慢
在一个小项目的开发过程中,我一直在Windows和Ubuntu上使用Git,经常在两者之间来回切换。问题在于,Git Bash持续变慢。 当我说慢的时候,我的意思是运行cd需要8-25秒,运行git命令需要5-20秒,ls有时可能需要30秒。不用说,这不好玩,更不用说徒劳了。我知道Git在Windows上速度较慢,但​​这很荒谬。 对我而言,暂时有效的一种解决方案是禁用我的网络连接(如本答案所述),启动Git Bash,然后重新连接。有时,它会在几天后继续快速运行,但是性能最终最终会下降。我已经连续数周浏览了msysgit讨论组,Stack Overflow,msysgit问题列表等,但是我无法提供有效的解决方案。 到目前为止,我已经尝试过: 将Git和项目文件夹添加到病毒扫描程序的排除列表中 完全禁用我的病毒扫描程序(Kaspersky IS 2011) 确保Outlook未运行(Outlook 2007) 关闭所有其他应用程序 以管理员身份运行Git Bash 禁用网络连接,启动Git Bash,并保持连接禁用 禁用网络连接,启动Git Bash,重新启用连接(仅偶尔起作用) 跑步 git gc 以及以上的组合 我确实读过一些人在禁用Bash完成方面取得了成功,但理想情况下,我希望保持这种状态。msysgit的版本为1.7.3.1-preview20101002,操作系统为Windows 7 x64。可以预见,在Linux上运行相同的操作很快。我将只使用Linux,但是我也需要在Windows中运行某些东西(某些应用程序,测试等)。 有没有人遇到过类似的问题?如果是这样,潜在的问题是什么?解决方案是什么(如果有)? 这不仅限于Git信息库,而且仅供参考,我一直在使用Git的信息库很小:最大约4至50个文件。
435 git  bash  windows-7  msysgit  mingw32 



6
如何将github存储库回滚到特定提交?
我的github现在有100个提交。我需要回滚存储库以提交80,并删除所有后续存储库。 为什么?该回购应该用于其他用户的合并。由于过度的编辑,大量合并作为我提交的内容。那是由于我的远程分支贴错了标签,在那里3个开发人员被标记为彼此。我需要重置到该点,然后向前拉。 我想重新设置基准,如本例所示:如何在GitHub上删除提交? 但是,git希望我做很多冲突管理。有没有更简单的方法?
431 git  github 

4
什么时候使用不同的git merge策略?
在git-merge的手册页中,可以使用多种合并策略。 resolve-使用三路合并算法只能解析两个头(即当前分支和您从中拉出的另一个分支)。它试图仔细检测纵横交错的歧义,并且通常被认为是安全且快速的。 递归 -这只能使用3向合并算法解析两个磁头。当可以用于三向合并的公共祖先不止一个时,它将创建公共祖先的合并树,并将其用作三向合并的参考树。据报道,通过对来自Linux 2.6内核开发历史记录的实际合并提交进行的测试,可以减少合并冲突,而不会引起错误合并。此外,这可以检测和处理涉及重命名的合并。当拉或合并一个分支时,这是默认的合并策略。 章鱼 -可以解决两个以上的问题,但拒绝执行需要手动解析的复杂合并。它主要用于将主题分支头捆绑在一起。当拉或合并多个分支时,这是默认的合并策略。 我们的 -可以解析任意数量的头,但是合并的结果始终是当前分支头。它旨在取代侧支的旧开发历史。 子树 -这是一种修改的递归策略。合并树A和B时,如果B对应于A的子树,则首先调整B以匹配A的树结构,而不是读取相同级别的树。对公共祖先树也进行了此调整。 什么时候应该指定不同于默认值的内容?每个方案最适合什么情况?
429 git  merge  git-merge 


3
如何还原到原始主分支的文件版本
我在本地计算机的主分支中,该分支是远程服务器上存储库的克隆主分支。 我更新了一个文件,并且想从远程主分支恢复到原始版本。 我怎样才能做到这一点?
425 git 

4
将更改的文件移到另一个分支进行签入
这经常在我身上发生:我写了一些代码,检查我的更改,然后意识到我不在适当的分支中来检查那些更改。但是,如果不恢复更改,我将无法切换到另一个分支。有没有办法将更改移动到另一个要在其中检查的分支?
422 git  github 

19
如何找到Git分支的最近父级?
假设我有以下带有提交树的本地存储库: master --> a \ \ develop c --> d \ \ feature f --> g --> h master是我的这是最新的稳定发行版代码,develop是我的这是“下一个”发行版代码,并且feature是正在准备的新功能develop。 我希望能够使用钩子在远程回购上feature执行的操作是拒绝推送,除非commit f是developHEAD 的直接后代。即提交树看起来像这样,因为功能已经git rebase打开d。 master --> a \ \ develop c --> d \ \ feature f --> g --> h 因此有可能: 确定的父分支feature? 确定父分支的提交是哪个f的后代? 从那里,我将检查父分支的HEAD是什么,并查看其f前身是否与父分支HEAD匹配,以确定是否需要重新设置功能。
419 git  branch 

22
同一台计算机上有多个github帐户?
尝试从计算机上同时使用我的实际“工作”存储库和git hub上的个人存储库。 首先建立工作帐户,然后一切正常。 但是,我的个人帐户似乎无法推送到我的个人存储库,该存储库是在其他帐户/电子邮件下设置的。 我尝试将工作密钥复制到我的个人帐户,但这会引发错误,因为密钥只能附加到一个帐户。 我如何从各自的github凭证中推入/拉出两个帐户?

13
您可以从GitHub存储库中获取代码行数吗?
在GitHub存储库中,您可以看到“语言统计信息”,其中显示了用某种语言编写的项目的百分比。但是,它不会显示项目包含多少行代码。通常,我想快速了解一个项目的规模和复杂性,而代码行数可以给人很好的第一印象。500行代码表示一个相对简单的项目,100,000行代码表示一个非常大/复杂的项目。 那么,是否有可能从GitHub存储库中获得用各种语言编写的代码行,最好不要克隆它? 问题“ 计算git存储库中的行数”询问如何计算本地Git存储库中的代码行,但是: 您必须克隆该项目,这可能会很大。例如,克隆像Wine这样的项目需要花费很多时间。 您会计算文件中不一定要是代码的行,例如i13n文件。 如果仅计算(例如)Ruby文件,则可能会丢失大量其他语言(如JavaScript)的代码。您必须事先知道项目使用哪种语言。您还必须为项目使用的每种语言重复计数。 总而言之,这对于“快速检查项目规模”而言可能太耗时。
415 git  github  line-count 

10
Git分支命令的行为类似于“少”
当我使用git branch命令列出所有分支时,我看到的输出git branch | less。 该命令git branch应该显示分支列表,就像ls文件一样。 这是我得到的输出: 如何获得默认行为git branch?是什么原因导致页面输出? 我正在使用ZSH oh_my_zsh(那里没有Git),我的.gitconfig样子是这样的: [user] email = myemail@mail.com name = Dennis Haegler [push] default = simple [merge] tool = vimdiff [core] editor = nvim excludesfile = /Users/dennish/.gitignore_global [color] ui = true [alias] br = branch ci = commit -v cam = commit …

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.