标签(tag)
1 | git tag 1.1.1 // 打标签 |
远程(remote)
1 | git remote -v // 查看远程地址 |
Stash
1 | git stash // 保存当前缓存 |
合并
1 | git merge master // 将主分支合并到当前分支 |
分支
1 | git checkout -b new_branch_name // 新建分支 |
回归
1 | git reset --hard commit_id // 返回某个commit_id所对应的节点,并且删除所有更改 |
? 如何找回已经 git reset –hard commit-id信息1
git reflog show
得到以下信息:1
2
3
4
58a1a4a3 (HEAD -> master) HEAD@{0}: reset: moving to 8a1a4a34611a9b2ccc962fc9109f23b2fd4707d3
cd03afe HEAD@{1}: commit: message one
8a1a4a3 (HEAD -> master) HEAD@{2}: rebase -i (finish): returning to refs/heads/master
8a1a4a3 (HEAD -> master) HEAD@{3}: rebase -i (reword): update readme again
其中 commit: message one 是被reset --hard的commit信息
1 | git reset --hard cd03afe |
即可找回commitId:cd03afe的信息
Commit
- 更改本地commit信息(本地已经commit了,尚未推送到远程)
git commit --amend
打开最后一条commit信息
然后在文本编辑器中保存,wq
,然后git log
就可以看到更改后的commit信息 - 更改远程的commit信息
重复上面一步,先编辑完commit信息,然后强制更新到远程bash git push origin your_branch --force
- 更改更老的commit信息或者多条commit信息
使用git rebase -i HEAD~n
命令,展示最后n条commit信息git rebase -i HEAD~2
将会得到以下信息:
1 | # pick d18086f change readmes |
将pick关键词替换成reword,关闭保存commit list file, 然后在每条打开的commit文件后修改并保存,
完成后使用 git log
就可以看到更改后的commit信息,然后强制推送到远程
参考链接:changing-a-commit-message