我有一个可以从Windows和OS X访问的Git存储库,而且我知道已经包含一些带有CRLF行结尾的文件。 据我所知,有两种方法可以解决这个问题: 将core.autocrlf设置为false , 按照这里的说明(在GitHub的帮助页面上回显)来将存储库转换为仅包含LF行结束core.autocrlf ,然后在Windows core.autocrlf设置为true ,并在OS X上进行input 。这样做的问题是,如果我有存储库中的二进制文件: 在gitattributes中没有正确标记为二进制 碰巧包含CRLF和LF, 他们将被损坏。 我的资源库可能包含这样的文件。 那么为什么我不应该关掉Git的换行符? 网上有很多模糊的警告,关于core.autocrlfclosures导致问题,但很less有具体的; 到目前为止,我发现的唯一情况是kdiff3无法处理CRLF结局(对我来说不是问题),而且一些文本编辑器也有行结束的问题(对我来说也不是问题)。 资源库是我公司的内部资源,所以我不用担心与具有不同autocrlf设置或行结束要求的人共享资源库。 是否还有其他问题,只是我不知道?
我知道一个.gitignore文件隐藏了Git版本控制中的指定文件。 我有一个项目(LaTeX)在运行时会生成大量额外的文件(.auth,.dvi,.pdf,日志等),但是我不希望跟踪这些文件。 我知道我可以(也许应该),使所有这些文件被放在项目中的一个单独的子文件夹,因为我可以然后就忽略该文件夹。 但是,是否有任何可行的方法来保持输出文件在项目树的根目录,并使用.gitignore忽略除了我跟踪的文件的所有东西? 就像是 # Ignore everything * # But not these files… script.pl template.latex # etc…
当我用我的源代码工作了一下,我做了我平常的事情提交,然后我推到远程存储库。 但后来我注意到我忘了在源代码中组织我的导入。 所以我执行修改命令来取代以前的提交: > git commit –amend 不幸的是,提交不能被推回到版本库。 这是拒绝的: > git push origin To //my.remote.repo.com/stuff.git/ ! [rejected] master -> master (non-fast forward) error: failed to push some refs to '//my.remote.repo.com/stuff.git/' 我该怎么办? (我可以访问远程存储库。)
有谁知道如何轻松撤消git rebase? 想到的唯一方法是手动进行: git签出两个分支的提交父 然后从那里创build一个临时分支 手工挑选所有的承诺 replace我通过手动创build的分支重新分配的分支 在我目前的情况下,这是可行的,因为我可以很容易地发现来自两个分支(一个是我的东西,另一个是我的同事的东西)的承诺。 但是,我的方法让我觉得不够理想,容易出错(假设我刚刚在自己的分支机构中重新组build了两个分支机构)。 有任何想法吗? 澄清:我正在谈论重新发布一堆提交重新发布。 不只是一个。
有人用git push origin test将一个名为test的分支git push origin test送到共享库。 我可以看到与git branch -r 。 现在我试图检查远程test分支。 我试过了: git checkout test哪个没做 git checkout origin/test给* (no branch) 。 这是令人困惑的。 我怎么能在“没有分支”? 如何查看远程Git分支?
当我inputgit diff ,我想用我select的视觉比较工具(Windows上的SourceGear“diffmerge”)查看输出。 我如何configurationgit来做到这一点?
我有一个项目,在开发过程中,我必须用chmod将文件的模式更改为777,但在主要的回购中不应该改变。 Git采用了chmod -R 777 . 并将所有文件标记为已更改。 有没有办法让Git忽略对文件进行的模式更改?
如何有效地将Git和Dropbox一起使用?
如何从当前工作树中删除未跟踪的本地文件?
将Git与Xcode结合使用时,我应该在.gitignore包含哪些文件?