git diff between remote and local repo
在提交拉取请求之前,尝试用github repo删除我的本地文件cx1(0),这样我就可以看到将要显示的内容了,有没有一种准确的方法可以做到这一点?我假设Github的比较工具操纵Git的diff?
- 您可以在不发送到文本文件的情况下执行git diff。在我看来,在控制台中观看通常是有效的。
- @我知道,但我的问题是Windows和Unix的LFS,所以整个文件都被跟踪为diff'd。我发现控制台对于如此大的输出效率很低。
- 你在Windows上使用什么工具?我认为msysgit的标准参数化可以自动处理这个问题。
- 哦,和ST2颜色代码的输出,这是非常方便的。
- 我使用新的GithubforWindows作为原始提交/推送,使用Github的Web界面作为原始拉请求。
- 我不会在这个主题上添加更多内容,因为我从未使用过这个工具,但可能有一个自动转换行尾的解决方案。我知道我没有问题(使用msysgit),即使我的同事在Windows上,我在Linux上。也许你可以问一个单独的问题,这样你就不必整理你的差异了?
- 比较本地Git分支和远程分支的可能副本?
- 或者简单地做EDOCX1[0]
- @Terry Fyi:在处理Windows/Unix中的行尾有一些不错的文档:git scm.com/book/en/v2/…和help.github.com/articles/dealing-with-line-endings
要将本地工作目录与远程分支(例如origin/master)进行比较,请执行以下操作:
埃多克斯1〔5〕这会告诉Git从名为"origin"的远程服务器获取名为"master"的分支。Git fetch不会影响工作目录中的文件;它不会像git pull那样尝试合并更改。
埃多克斯1〔8〕当提取远程分支时,可以通过提取头在本地引用它。上面的命令告诉Git将工作目录文件与提取的分支的头文件进行比较,并以摘要格式报告结果。摘要格式提供了更改的概述,通常是一个很好的开始方式。如果您需要更多信息,请使用--stat而不是--summary。
江户十一〔11〕。如果要查看对特定文件(例如myfile.js)的更改,请跳过--summary选项并引用所需的文件(或树)。
- 因为它提供了比其他答案更详细的信息。
- 对上下文的细节和解释投赞成票。如果有人问这个问题,他们可能从Git开始。当你试图用一种新技术来包装你的大脑时,背景和清晰的解释是很重要的,而且绝对不会有伤害。
- 我想补充一下:2b.如果--summary不够的话,git diff --stat FETCH_HEAD可以提供更多的信息。
- 对细节解释投赞成票。
- 如果我想在推动更改之前避免合并冲突。最好先提取,然后用提取头对本地工作目录进行比较,然后在一切正常的情况下进行推送吗?
不要做pull:
- 执行fetch(语法与git pull相同,但不会自动合并)
- 在你的目的地分支和另一个分支之间做一个diff。
- 如果你想的话,就做一个merge。
根据运营商的评论,他的部分"问题是Windows与Unix LFS",这应该有助于:
您可以使用下面的config命令告诉git diff忽略EOL代码的差异。
1
| git config --global core.whitespace cr-at-eol |
- core.autocrlf是处理系统新线差异的另一个有用设置。
您可以使用:git diff remote/my_topic_branch my_topic_branch。
其中my_topic_branch是你的主题分支。