标签 github 下的文章

删除本地提交并推至origin

# 第一步
## 删除本地提交(HEAD为最近一次提交,HEAD^上上次)
git reset --hard commit-id

# 第二步
## 强制推送
git push origin +master
## 或
git push origin HEAD --force

RESET

根据–soft –mixed –hard,会对working tree和index和HEAD进行重置:

git reset –mixed:此为默认方式,不带任何参数的git reset,即时这种方式,它回退到某个版本,只保留源码,回退commit和index信息
git reset –soft:回退到某个版本,只回退了commit的信息,不会恢复到index file一级。如果还要提交,直接commit即可
git reset –hard:彻底回退到某个版本,本地的源码也会变为上一个版本的内容

关闭ISSUE

在提交的message中添加如下内容会自动与issue #id关联。是不是很方便啊!

  • fixes #xxx
  • fixed #xxx
  • fix #xxx
  • closes #xxx
  • close #xxx
  • closed #xxx

效果图

Reference:

http://www.cnblogs.com/shure/archive/2012/11/07/2758663.html
http://blog.csdn.net/hshl1214/article/details/8084423

你是不是已经厌倦了每次git push的时候每次都要输入用户名密码,使用下面的方法可以让你使用ssh协议通过密钥验证的方式让你得到解脱。

有两种修改方法

不过再实施前,请先准备好自己的密钥

ssh-keygen -t rsa -C "your_name"

然后登录https://github.com/settings/ssh,添加当前计算机的~/.ssh/id_rsa.pub公钥内容到github。

之后我们使用ssh [email protected]验证是否添加成功,如果返回以下内容,即代表添加成功!

Hi phpgao! You've successfully authenticated, but GitHub does not provide shell access.

下一步就是让我们的git使用公钥验证。

clone

保存你的最后一次修改并提交。

删除项目

使用下面的命令clone项目

# 采用ssh的方式克隆项目
# someaccount/someproject.git 中 some account为github用户名/someproject为仓库名

git clone [email protected]:phpgao/BaiduSubmit.git

修改https

git remote set-url origin [email protected]:someaccount/someproject.git

顺便提一下,老高的git push总是报warning: push.default is unset错误,今天终于知道为啥了。原来是版本兼容性的原因,低版本的git push如果不指定分支名,就会全部推送,而新版只会推送当前分支。

解决的办法也很简单,我们只需要明确指定应该推送方式即可,至于选择哪种方式,It's up to you.


# 全部推送
git config --global push.default matching

# 部分推送
git config --global push.default simple