相关疑难解决方法(0)

Git diff提交范围中双点".."和三点"..."之间有什么区别?

以下命令之间有什么区别?:

git diff foo master   # a 
git diff foo..master  # b
git diff foo...master # c
Run Code Online (Sandbox Code Playgroud)

diff手册谈到它:

比较分支机构

$ git diff topic master    <1>
$ git diff topic..master   <2>
$ git diff topic...master  <3>
Run Code Online (Sandbox Code Playgroud)
  1. 主题提示与主分支之间的更改.
  2. 与上述相同.
  3. 自主题分支启动以来主分支上发生的更改.

但对我来说并不完全清楚.

git diff git-diff

175
推荐指数
4
解决办法
2万
查看次数

比较Git中rebase的差异

假设我只是衍合分支foomaster,有冲突的.我想foo通过引入额外的更改或丢失更改(除了适合冲突解决的更改),确保我不会在冲突解决期间意外损坏内容.我这样做是通过:

diff -u <(git diff `git merge-base master foo@{1}` foo@{1}) \
        <(git diff `git merge-base master foo    ` foo    )
Run Code Online (Sandbox Code Playgroud)

(更新:或我刚刚提醒的等效...语法git-diff:)

diff -u <(git diff master...foo@{1}) <(git diff master...foo) | mate
Run Code Online (Sandbox Code Playgroud)

这向我展示了master..foo被认为是补丁的所有变化,这正是我想要检查的最小化.但是,调用很复杂,输出的解释并不完全简单.

有没有更好的方法来完成这项任务 - 提供相同的信息,但有更好的方法或格式 - 或者我应该采取上述内容并将其包装在脚本中?

git git-diff git-rebase

29
推荐指数
3
解决办法
9472
查看次数

在github上查找强制推送的提交者

在我们的项目(在GitHub上托管)中,有人不小心每次都强行推动主人.没有人知道是否这样做,我想知道是谁做的,以及它背后有什么样的错误配置工具或坏习惯.

所以问题是,如何识别推动力量的用户?我拉的时候看到这样的东西:

# git pull --prune
(.....)
 + 4c0d44c...138b9ed master     -> origin/master  (forced update)
Run Code Online (Sandbox Code Playgroud)

138b9ed它只是源头/主人的最新提交,并且任何人都可能在强制推动后做出承诺; 甚至可能是推力器本人没有做出任何改变,只是重新定位,所以他的名字甚至不存在于作为作者的原始/主人历史的重写部分.

我也尝试了git reflog origin/master,但它只是提供了相同的信息:有一条记录说明git pull --prune (forced update)了提交ID 138b9ed,但是这将再次将最后一个提交者提供给master,而不是那个强制推送的提交者.git reflog master在原始服务器上运行可能会有所帮助,但GitHub并没有为您提供那种访问AFAIK.

有没有可靠的方法来找出推动起源的人(何时)?

git github git-push

13
推荐指数
2
解决办法
8641
查看次数

github会记住提交ID吗?

几天后,我正在为Scrollback项目重新编写install.sh文件,因为我是唯一一个在本地工作并且在本地执行的人,所以我一直在提交修改相同的提交,偶尔推送到我的fork的主人.(请忽略这里的最佳做法,我一个人工作).

在此期间,我记得通过电子邮件向某人展示我完成的工作,网址为https://github.com/sindhus/scrollback/blob/8d8f7f414383499c2ab6fec586b4c9665a41c7aa/install.sh

现在由于一些困惑我在本地失去了我的工作(想想rm -rf),我记得在此之前推进.所以github在某些时候确实看到了我重新定义的install.sh提交ID.

如您所见,上面的URL允许我通过提交ID访问此blob.但是我无法在本地访问它,因为强制推送同一个repo.

我的问题如何让github向我显示文件的所有提交ID?无论路径如何,它可能知道该文件的所有ID.如果我必须使用他们的API,我不介意,但我想要深入研究一些想法.

谢谢!

git github

6
推荐指数
1
解决办法
1463
查看次数

标签 统计

git ×4

git-diff ×2

github ×2

diff ×1

git-push ×1

git-rebase ×1