Git 及 Github 相关操作

Fork Me On Github

Git pull request

问题描述

在 github 上提交了一个 pull request,在作者进行操作前,发现自己某处错了,进行了修改。

这时是关闭这条 pull request 重新发一条,还是有什么操作可以覆盖这次发送的 pull request?

解决方案

push 更新那个分支就行,pull request只和分支名绑定。

直接 push 就会自动追加到到 PR 后面。当然,如果你不希保留旧的 commit 记录,还可以选择本地 git reset 之后 push -f 强行覆盖掉你远程的commit,PR会一并更新。

  1. 回退一个版本
git reset HEAD~1
  1. 修改代码

  2. 强制提交

git push -f

问题描述

如何把已经更新到最新的代码保持跟自己Fork下来的仓库代码保持一致

解决方法

  1. 命令查看此时本地仓库对应的远程仓库
    git remote -v
  2. 为本地仓库添加一个新的远程仓库,指定名字为upstream,指向原项目仓库
    git remote add upstream https://github.com/php/php-src.git

这是使用 git remote -v 则可以查看到已经更新了

  1. 保持同步更新
git pull upstream master          //从原仓库更新代码到的本地master分支
git push origin master            //将master推到自己的远程仓库

参考

  1. 从github上fork了一个仓库后保持与原仓库代码同步的操作方法
  2. Git实用技巧 pull request修改

GITHUB 客户端一些操作

撤回

  1. 未commit

Changes 下,右击想要操作的文件,点击菜单 Discard changes 即可,此操作会删掉对此文件的所有的修改

Discard changes

  1. 已commit,但是未push

History 下, 右击想要撤回的 commit,

github history

Amend commit 是修改本次提交的 描述信息

Undo commit 取消本次提交,可以重新修改文件和描述信息,不会留下记录

Revert changes in commit 撤回本次 commit, 实际上在反向提交一次 commit 删除了上次修改的内容,上次 commit修改的文件就恢复初始状态, 会丢失上次修改的内容,但是会留下记录

  1. 已commit,已push

只能 Revert changes in commit, 删除了上次修改的内容,会丢失上次修改的内容,同时会留下记录

Click here to view
0 220 0