Questions tagged «git»

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

4
说明哪个gitignore规则忽略了我的文件
有什么办法可以查看为什么git会忽略某些文件(即.gitignore文件中的哪个规则导致该文件被忽略)? 想象一下我有这种情况(或更复杂的情况,有数百个文件夹和数十个.gitignore文件: / -.gitignore -folder/ -.gitignore -subfolder/ -.gitignore -file.txt 如果我运行git add folder/subfolder/file.txtgit可能会抱怨它被忽略了: The following paths are ignored by one of your .gitignore files: folder/subfolder/file.txt Use -f if you really want to add them. 有什么方法可以知道在所有可能.gitignore的规则中忽略该文件并显示该规则吗?喜欢: The following paths are ignored by your folder/.gitignore file (line 12: *.txt) folder/subfolder/file.txt Use -f if …
310 git  gitignore 

5
Git提交消息:50/72格式化
蒂姆·波普(Tim Pope)在他的博客文章:http ://www.tpope.net/node/106中主张一种特定的Git commit消息样式 。 这是他的建议的快速摘要: 第一行不超过50个字符。 然后是空白行。 其余文字应以72个字符换行。 他的博客文章提供了这些建议的理由(为简便起见,我将其称为“ 50/72格式”): 实际上,有些工具将第一行作为主题行,将第二段作为正文(类似于电子邮件)。 git log 不处理换行,因此如果行太长则很难阅读。 git format-patch --stdout 将提交内容转换为电子邮件-如果要很好地打包您的提交内容,发挥作用会很有帮助。 我想补充一点,我认为蒂姆会同意: 在任何版本控制系统中,总结提交的行为本质上是一种好的做法。它可以帮助其他人(或以后的您)更快地找到相关的提交。 因此,我对我的问题有两个角度: Git的“思想领袖”或“经验丰富的用户”中有多少(大致)接受50/72格式设置?我之所以这样问,是因为有时新用户不了解或不关心社区实践。 对于那些不使用这种格式的人,是否有原则上的理由使用其他格式样式?(请注意,我在寻找关于案情的论据,而不是“我从未听说过”或“我不在乎”。) 从经验上讲,有多少百分比的Git存储库采用这种风格?(以防某人想对GitHub存储库进行分析……提示,提示。) 我的意思不是推荐50/72风格或击落其他风格。(要公开,我确实喜欢它,但是我对其他想法持开放态度。)我只是想了解为什么人们喜欢或反对各种Git提交消息样式的理由。(也可以提出未提及的要点。)
310 git 

5
如何将子模块添加到子目录?
我有一个git repo,里面~/.janus/有很多子模块。我想在中添加子模块~/.janus/snipmate-snippets/snippets/,但是git submodule add <git@github.com:...>在snipmate-snippets目录中运行时,出现以下错误消息: You need to run this command from the toplevel of the working tree. 所以问题是:如何将子模块添加到snipmate-snippets目录中?

9
不在git目录中时进行git pull
假设我有一个目录/X/Y,这是一个git存储库。是否可以通过某种方式调用git pull来自inside 的命令/X,但以/X/Y目录为目标? 编辑:我想我特别想知道:是否可以使用git命令来执行此操作,而不必更改目录? 注意:我已经接受VonC的答案,因为它比以前的选项要优雅得多。对于运行Git 1.8.5之前的版本的人,请参见下面的bstpierre答案。
308 git 

20
git:致命的:我不处理协议'http'
我从以下网页复制并粘贴了git clone命令:https : //fedorahosted.org/ibus-typing-booster/ 我懂了: user@host> git clone ​​http://git.fedorahosted.org/git/ibus-typing-booster.git Cloning into 'ibus-typing-booster'... fatal: I don't handle protocol '​​http'
307 git  clone  whitespace 

1
Git所有分支上每位作者的提交次数
我想获取所有分支上每个作者的提交数量。我看到 git shortlog -s -n 打印一个非常漂亮的列表,但它不计算尚未从其他分支合并的提交。如果在每个分支上迭代此命令,则很明显,公共提交会被计数多次。您能给我一个脚本/命令以使我了解整体情况吗?

4
意外将.idea目录文件提交到git
我不小心将.idea/目录提交到git中。这在其他我需要签出我的仓库的地方引起冲突。我想知道如何从远程删除这些文件? 我仍然需要本地这些文件,因为Intellij IDE需要它们。我只是不想让他们在遥控器中。我已将目录添加.idea/到我的目录中.gitignore并提交,并将此文件推送到远程目录。不过,这似乎对我在其他计算机上结帐时没有影响。我仍然收到错误消息: error: The following untracked working tree files would be overwritten by checkout: .idea/.name .idea/compiler.xml .idea/copyright/profiles_settings.xml .idea/encodings.xml .idea/misc.xml .idea/modules.xml .idea/scopes/scope_settings.xml .idea/uiDesigner.xml .idea/vcs.xml .idea/workspace.xml
306 git 

11
如何归档git分支?
我的git存储库中有一些旧分支,这些分支不再处于活跃开发中。我想对分支进行存档,以便在运行时默认情况下不显示它们git branch -l -r。我不想删除它们,因为我想保留历史记录。我怎样才能做到这一点? 我知道可以在ref / heads之外创建一个ref。例如,refs/archive/old_branch。这样做有什么后果吗?
305 git 

13
Git子模块头“引用不是树”错误
我有一个项目,该项目的子模块指向无效的提交:该子模块的提交保持在本地状态,当我尝试从另一个存储库中获取它时,我得到了: $ git submodule update fatal: reference is not a tree: 2d7cfbd09fc96c04c4c41148d44ed7778add6b43 Unable to checkout '2d7cfbd09fc96c04c4c41148d44ed7778add6b43' in submodule path 'mysubmodule' 我知道子模块HEAD应该是什么,有什么办法可以在本地更改此子模块,而无需从确实提交的仓库中推送2d7cfbd09fc96c04c4c41148d44ed7778add6b43? 我不确定是否很清楚... 这是我发现的类似情况。

5
修改时更新git commit author日期
我发现自己经常修改自己的承诺。我没有stash那么多,因为我倾向于忘记自己这样做的情况,尤其是当我想保存我离开之前或周末之前所做的事情时,所以我进行了“草稿”提交。唯一的事情是,当我修改提交时,它仍设置为原始作者日期。修改时是否有(简单)方法来更新它?
305 git 

5
将文件保存在Git存储库中,但不跟踪更改
我在CodeIgniter站点中有几个文件,希望在存储库中有这些文件,但不跟踪任何更改。 例如,我将这个框架的新安装部署到新客户端,我希望下载以下文件(它们的默认值是CHANGEME),而我只需要对此客户端进行特定的更改(数据库凭据,电子邮件地址信息,自定义CSS)。 // the production config files i want the files but they need to be updated to specific client needs application/config/production/config.php application/config/production/database.php application/config/production/tank_auth.php // index page, defines the environment (production|development) /index.php // all of the css/js cache (keep the folder but not the contents) /assets/cache/* // production user based …
305 git 

8
如何列出Git存储库中所有已删除的文件?
我知道Git会存储有关何时删除文件的信息,并且我能够检查单个提交以查看哪些文件已删除,但是是否有一条命令可以生成存储库生命周期中每个已删除文件的列表?
304 git 

3
将功能分支重新设置到另一个功能分支
我正在使用两个(专用)功能分支。 a -- b -- c <-- Master \ \ \ d -- e <-- Branch1 \ f -- g <-- Branch2 在这些分支上工作了一段时间之后,我发现需要在Branch1中的Branch2中进行更改。我想将Branch2中的更改重新基于Branch1。我想得出以下结论: a -- b -- c <-- Master \ d -- e -- f -- g <-- Branch1 我敢肯定,我需要第二分支衍合到第一,但我不完全确信正确的语法和分支我已签出。 这个命令会产生想要的结果吗? (Branch1)$ git rebase --onto Branch1 Branch2

10
如何回到Git的最新版本?
我最近从SVN转到了Git,对某些事情有些困惑。我需要通过调试器运行脚本的先前版本,因此我做了git checkout <previous version hash>并且做了我需要做的事情。 现在我想回到最新版本,但是我不知道它的哈希值。当我输入时git log,我看不到它。 我怎样才能做到这一点?另外,有没有比键入哈希更简单的方法来更改版本-例如“返回两个版本”或“按时间顺序排列最近”?
303 git  git-checkout 


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.