如何从当前状态恢复为在某个提交时创建的快照?
如果我这样做git log,那么我得到以下输出:
$ git log
commit a867b4af366350be2e7c21b8de9cc6504678a61b`
Author: Me <me@me.com>
Date: Thu Nov 4 18:59:41 2010 -0400
blah blah blah...
commit 25eee4caef46ae64aa08e8ab3f988bc917ee1ce4
Author: Me <me@me.com>
Date: Thu Nov 4 05:13:39 2010 -0400
more blah blah blah...
commit 0766c053c0ea2035e90f504928f8df3c9363b8bd
Author: Me <me@me.com>
Date: Thu Nov 4 00:55:06 2010 -0400
And yet more blah blah...
commit 0d1d7fc32e5a947fbd92ee598033d85bfc445a50
Author: Me <me@me.com>
Date: Wed Nov 3 23:56:08 2010 -0400
Yep, more blah blah.
Run Code Online (Sandbox Code Playgroud)
如何从11月3日恢复提交,即提交0d1d7fc?
我想知道是否有办法在github中恢复远程删除的分支.历史记录清楚地记录了分支并与其他分支合并,但我不确定是否可以恢复已删除的分支.
谢谢.
通常,我的同事会对一个公开拉取请求进行一些更改,将他们的本地分支重新绑定到基本分支 - 通常也将他们的更改压缩到以前的提交中 - 并强制推送.
如何看待旧版PR与新版PR之间的变化?
我想我可以做一个git pull和git checkout $BRANCH_NAME当PR首次提出,然后git fetch再git diff $BRANCH_NAME..origin/$BRANCH_NAME对PR进行了更新后-但也将显示已通过重订引入基地分支(通常硕士),并带入PR的变化.是否有可能消除噪音并只显示PR本身的变化?
在我们的项目(在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 push --forceBitbucket 存储库进行了内部检查。我知道是谁,但我想知道是否可以收集哪些提交被强制推送到存储库中。
我从 git log/history 中寻找的信息是这样的 -
+ 1951097...9b070f0 tower -> origin/tower (forced update)
当我尝试拉入本地分支并在强制推送后遇到合并冲突时,我看到了此消息,但除了那一次之外,我在其他任何地方都无法看到它。是否有一个地方可以看到所有提交(特别是(forced update)旁边带有该标签的提交?)正在运行Git reflog并且git log似乎没有返回此信息。
我看到这篇文章(很搞笑)类似 - How can I find out who force Push in git?
我不是寻找特定的人(就像上一个问题中的提问者),而是寻找在本地克隆后使用 --force 推送到存储库中的提交。这些信息是否可以收集,或者我运气不好?
谢谢。
我正在向以下URL发出请求 - 帖子https://api.github.com/repos/kvimal/2048/issues 我的令牌作为授权标题.
卷曲请求
curl -i -X POST https://api.github.com/repos/kvimal/2048/issues -d "{title:'hey'}" -H "Authorization: Bearer xxxxxxxxxxxxxxxxxx" -H "Content-Type: application/json"
Run Code Online (Sandbox Code Playgroud)
并且GitHub发送回复404 Not found.我已经重新阅读了文档,据我所知,我正在按照github标准进行操作.有人可以帮忙解决这个问题吗?
在工作中,我们将 Sourcetree 与 GitHub 结合使用作为我们代码的源代码控制解决方案。在我们的存储库中,我们还创建了几个标签并将它们推送到远程存储库。然而,一些曾经创建并随后删除的标签通常会再次出现在每个开发人员的本地存储库(以及远程存储库)中。
我们已经删除了每个开发人员本地存储库中的不正确标签,并确保禁用了“推送所有标签”复选框:
然而,这些标签不断重新出现,我们无法看出是哪个开发人员对此负责。
我的问题是,是否有一个 git 命令可以查看谁将标签从本地存储库推送到远程?或者是否有另一种永久的方法来防止已删除的标签再次出现?
我经常读到有关如何强制推送的信息,并且远程存储库中所有未拉出的提交都丢失了。如果不需要特定的提交,他还可以创建一个新分支,在我看来,这是很常见的分支,因为即使您不需要特定的代码,也不会丢失数据,也许您现在以后会需要它,我看不出有什么理由要破坏它。
所以我的问题是我为什么必须进行推力?
当父提交图中没有包含它们的标签或分支时,就会创建孤立提交。例如,如果你犯了一个分支foo,添加提交a和b,然后删除分支(即删除引用foo从提交b),那么这两个a和b,除非你救了他们的哈希值将是不可到达的。
x-x-x-x <- master
\
a-b <- foo (reference then deleted or reset to somewhere on master)
Run Code Online (Sandbox Code Playgroud)
孤立提交的基本 Git 行为是最终垃圾收集并删除它们(我听说默认至少是 30 天)。
将以往的Git从一个回购移动孤儿提交到另一个使用git clone,git fetch或git push命令?
或者 Git 是否有效地忽略了任何不直接调用孤儿哈希(例如checkout或cherry-pick)的操作的这些提交?
我有一个远程分支作为我正在使用的develop_1 。我所有的本地代码更改都已提交给它,但我的领导意外删除了该远程分支。
我在本地系统中进行了所有这些代码更改。现在,我想将所有这些更改推送回新远程分支中的同一个 Git 存储库,例如develop_2。
如何创建新分支、同步本地更改并将其推送到远程?
git ×10
github ×6
git-branch ×2
git-push ×2
git-checkout ×1
git-clone ×1
git-diff ×1
git-fetch ×1
git-reset ×1
git-revert ×1
github-api ×1
orphan ×1
pull-request ×1