主持人注意:鉴于此问题已经发布了67个答案(其中一些已删除),请考虑在发布另一个问题之前是否提供任何新内容.
git pull和之间有什么区别git fetch?
我克隆了一个github存储库,并没有在本地进行任何更改.Github存储库在同一分支上提交了提交.
我想检查远程分支和本地分支之间的真正差异.我怎样才能做到这一点?
发出以下命令部分有效,但它也显示了我本地分支的新变化的差异.
git diff remote/branch
Run Code Online (Sandbox Code Playgroud) diff在我提交拉取请求之前尝试使用GitHub仓库使用我的本地文件,这样我就可以看到会出现什么,有没有准确的方法呢?我假设GitHub的比较工具操纵Git的diff?
有很多有用的Git引用(究竟是什么确切的名字?),例如HEAD,ORIG_HEAD,FETCH_HEAD,MERGE_HEAD,@ {}上游等
有什么参考吗?一个包含解释的完整列表?
我过去git diff origin经常使用.
在不同的环境中,它不起作用.我不知道为什么.
user@host> git diff origin
fatal: ambiguous argument 'origin': unknown revision or path
not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'
Run Code Online (Sandbox Code Playgroud)
状态:
user@host> git status
On branch master
nothing to commit, working directory clean
Run Code Online (Sandbox Code Playgroud)
遥控器:
user@host> git remote -v
origin https://example.com/repos/djangotools (fetch)
origin https://example.com/repos/djangotools (push)
Run Code Online (Sandbox Code Playgroud)
版:
user@host> git --version
git version 2.7.4
Run Code Online (Sandbox Code Playgroud)
用"git版本1.8.1.4" git diff origin工作.
顺便说一句,如果我使用"git diff origin/master",我会看到相同的错误信息
BTW2,我认为"/ master"是多余的.理所当然的默认设置是将本地分支与远程站点上的同一分支进行比较.
我想看看master分支和我的功能分支之间的区别.我有很多从主服务器到我的功能分支的东西,并希望看到如果我将我的功能合并到主服务器中将添加的更改.
这是我的情况:
-*--*--*-----*<master>
\ \ \
1--*--*--*--2--*<feature>
Run Code Online (Sandbox Code Playgroud)
我的问题是git diff master feature似乎只显示提交号2.我想看到一个github pull请求将显示的差异,我相信这是提交的所有方式1.我注意到git cherry显示我提交的我希望看到的区别为.
谢谢你的建议.
如果我有一个本地分支test,而远程分支是test.所以,如果我做了推动,那就是push origin test:test
如何查看我在该分支上执行的本地未提交的提交?
git log?
我想比较我已经与原始/上游存储库分叉的存储库的本地克隆,以查看是否已经进行了进一步的提交,要求我进行拉/合并.我想从命令行执行此操作.
我用这个命令将原始存储库添加到我的遥控器列表中:
git remote add upstream <original repo URL>
Run Code Online (Sandbox Code Playgroud)
这在Github自己的关于分支分支主题的页面中有所概述.
然而,当我运行git diff upstream 或 git diff upstream/master 作为这里建议或git diff master upstream/master 作为建议在这里,我得到这样的:
fatal: ambiguous argument 'upstream': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'
Run Code Online (Sandbox Code Playgroud)
该命令git diff origin/master不会返回错误(或任何事情).我错过了什么吗?
我有一个远程Git存储库,我可以通过SSH从本地存储库中推送/拉出.我可以使用Git status命令检查本地仓库上未跟踪/未分页的文件.如何使用远程仓库执行相同的操作?请注意,我不是在寻找本地提交和远程提交之间的区别.
Sometimes, when I do git pull origin master from a local branch, I get merge conflicts like:
<<<<<<HEAD
======
>>>>>>xxxxxx
Run Code Online (Sandbox Code Playgroud)
How to avoid that ? Maybe it is due to some white spaces, so I tried to put a .gitattributes file containing * -whitespace but that didn't solve the problem.
因此,这已在其他地方问过,但我看到的答案似乎对我不起作用。
我有一个裸远程存储库,“起源”。我在本地工作,在一个名为“ect010”的分支中,远程也有,它被跟踪:
git remote show origin
* remote origin
Fetch URL: /projects/ECT/bareChain.git
Push URL: /projects/ECT/bareChain.git
HEAD branch: master
Remote branches:
develop tracked
ect010 tracked
master tracked
oldXML tracked
Local branch configured for 'git pull':
ect010 merges with remote ect010
Local ref configured for 'git push':
ect010 pushes to ect010 (local out of date)
Run Code Online (Sandbox Code Playgroud)
远程 ect010 分支比我的本地 ect010 分支有更多最近的提交(如果我去裸目录并做一个 git 日志,我可以看到这些提交)。
知道这一点,我从我当地的 ect010 分支做:
git fetch origin ect010
Run Code Online (Sandbox Code Playgroud)
这似乎没有多大作用:
From /projects/ECT/bareChain
* branch ect010 -> FETCH_HEAD
Run Code Online (Sandbox Code Playgroud)
..最后,我想看看我的本地 ect010 和远程 ect010 之间的差异,所以我试过了 …