提交不少,发现某次提交引入了BUG,当时没发现,如何撤销提交呢?优雅的办法是:

git revert commit_id

如果commit_id是merge节点的话,-m是指定具体哪个提交点

git revert commit_id -m 1

然后解决冲突后提交即可。

参考资料[……]

Read more

一般这个情况是本机公钥重置造成的问题,使用如下指令生成公钥(如果没有公钥的话):

ssh-keygen -t rsa -C "git@ip"

然后复制公钥

~/.ssh/id_rsa.pub

添加到仓库的Access keys里,即可正常访问。[……]

Read more

呐,其实有些特别的Git,是只有一个master分支的,所以推送就可以直接用如下指令实现推送:

git push origin master

如果当前分支只有一个追踪分支,那么主机名都可以省略和分支都可以省略。

git push

[……]

Read more

以下代码,实现了强制拉取remote更新到本地,无视本地任何修改~

git fetch --all  git reset --hard origin/master git pull

以上内容摘录自:Git pull 强制覆盖本地文件[……]

Read more

需求其实就是简单的,确认下本地和remote的版本号是否一致,不一致就拉更新~
三句代码:

git remote -v updategit rev-parse @git rev-parse @{u}

第一句是远端信息更新(不会对本地有任何改变)
第二句是输出本地目前所处版本哈希
第三句是输[……]

Read more

以下全文转自:https://www.cnblogs.com/zhouj850/p/7260558.html

git push origin 

上面命令表示,将当前分支推送到origin主机的对应分支。

如果当前分支只有一个追踪分支,那么主机名都可以省略。

git push

如果当前分[……]

Read more

练习五十三,你决定通过运行`git reset –hard HEAD ^`来删除最新提交(这不是明智之举)。然后你个贱人又改变主意想恢复已删除的提交。
使用代码:

git reflog

查看修改状态。得知需要恢复的哈希是:e5edfd9。

git checkout e5edfd9

练[……]

Read more

练习五十,你在一个文件中修改了隶属于两个不同特性的功能。但这些修改都未被Stage(声明)。现在请Stage(声明)其中一个隶属于first feature的修改。
使用代码:

git status

查看修改状态。得知文件是feature.rb。

git add feature.rb -e

[……]

Read more

练习四十八,你用错误的顺序提交了很多次提交,现在重新排序你的提交。
使用代码:

git log

仔细看的话,发现最后两次提交顺序不对,继续修改喽~

git rebase -i HEAD~2

输出一些信息,我们要修改commit的拼写错误,所以编辑最开头的:

pick fccc99b Fi[......]

Read more