Git常用操作

标签 #

将某次commit打上标签 git tag <name 默认给最新提交打标签。
git tag 查看所有标签 git tag v0.9 f52c633 根据commit id给某次提交打标签

暂存改动 #

操作 代码
暂存 git stash
列表 git stash list
取出 git stash pop 1

获取上一次commit的message #

git log -1 --pretty=%B  

使用一次新的commit,替代上一次提交 #

如果代码没有任何新变化,则用来改写上一次commit的提交信息

git commit --amend -m "666"

代码有变动,要制定文件

git commit --amend src\plugins\icElement_vote\components\config.vue src\plugins\icElement_chose\components\config.vue
  -m "fix(编辑器-选择题/投票题):删除不是当前选中的选项"

分支间摘 commit #

分支A有5次提交,想把其中的第二三次提交拿到B分支,先拿到 commit 的 id 可通过 git log -1 --pretty=%B 取到。然后使用摘樱桃命令:

git cherry-pick 5cf6d24

分支B就把这次commit摘过来了。

取消追踪 #

git rm -r --cached 文件或目录

在缓存中移除某个目录 #

git rm -r --cached some-directory

查看记录log #

git log 这样会打印出超级多的信息,包括SHA-1、作者、时间、message,很啰嗦,还是不要这么用得好。
git log --pretty=format:"%h - %an, %ar : %s" 按格式打印信息,具体选项如下
git log --graph git log --graph --oneline --decorate

选项 说明
%H 提交对象(commit)的完整哈希字串
%h 提交对象的简短哈希字串
%T 树对象(tree)的完整哈希字串
%t 树对象的简短哈希字串
%P 父对象(parent)的完整哈希字串
%p 父对象的简短哈希字串
%an 作者(author)的名字
%ae 作者的电子邮件地址
%ad 作者修订日期(可以用 -date= 选项定制格式)
%ar 作者修订日期,按多久以前的方式显示
%cn 提交者(committer)的名字
%ce 提交者的电子邮件地址
%cd 提交日期
%cr 提交日期,按多久以前的方式显示
%s 提交说明

git log -2 --oneline 打印最近两次的简化后的记录,其中--oneline--pretty=oneline --abbrev-commit 命令的简化用法。-n为最近n次的提交。
git log --since=2.weeks 打印2周内的记录,具体选项如下

选项 说明
-(n) 仅显示最近的 n 条提交
--since, --after 仅显示指定时间之后的提交。
--until, --before 仅显示指定时间之前的提交。
--author 仅显示指定作者相关的提交。
--committer 仅显示指定提交者相关的提交。

git log --pretty="%h - %s" --author=wss --since="2008-10-01" --before="2008-11-01" 各种条件可以一起用
git log -p -2 查看最近两次提交,并显示提交内容(具体改动了什么)

攻略 #

Git 原理入门 http://www.ruanyifeng.com/blog/2018/10/git-internals.html

Git 分支管理策略 http://www.ruanyifeng.com/blog/2012/07/git.html

Git 工作流程 http://www.ruanyifeng.com/blog/2015/12/git-workflow.html

Git 使用规范流程 http://www.ruanyifeng.com/blog/2015/08/git-use-process.html