这是我参与8月更文挑战的第1天,活动详情查看:8月更文挑战前端
经常使用的 Git 指令,一边整理一边复习,还顺便 get 了新的指令。真 · 温故而知新 😉git
git config --global user.name "yourname"
git config --global user.email "youremail@qq.com"
git config --global --list
git config user.name
,git config user.email
配置 ssh 后,使用ssh 地址 clone 项目,无需再输入帐号密码。一次配置,永久使用。😉github
检查 ssh 是否存在markdown
cd ~/.ssh
,找到 .ssh
文件夹ls
或 ll
,查看是否存在 id_rsa.pub
cat id_rsa.pub
,获取秘钥若是 ssh 不存在,那就 ——ssh
生成秘钥 ssh-keygen -t rsa -C "your-email@qq.com"
生成后就能够经过上述方式找到 ssh,拷贝一下,接下来去 github ——oop
在 github 中添加秘钥 点击头像 → Settings → SSH and GPG keys → New SSH key → 黏贴 ssh-rsa
开头的串串 → 肯定添加 → OK啦! 🎉post
关于 ssh 的详细操做和解说,参考: www.liaoxuefeng.com/wiki/896043…spa
git init
git remote add origin git@xxx.git
注意:关联后第一次推送时添加 -u
参数,即:git push -u origin master
做用:-u
(--up-stream
)用来创建本地分支与远程某个分支的关联,造成一个管道,以后可简化命令,直接 git push
git clone git@xxx.git
git remote -v
git remote show origin
git branch
git branch -a
git branch xxx
git checkout xxx
git checkout -b xxx
(等同依次执行上面两个命令)git branch -d xxx
git branch -D xxx
git remote prune
git push origin --delete xxx
git merge xxx
git rebase xxx
--continue
:遇到冲突的状况,解决冲突后 continue--skip
:跳过此次 rebase 操做拉取和推送rest
git status
git pull
git add <file>
git add .
git commit -m '备注信息'
git push
git diff
git cherry-pick <commitId>
撤销修改日志
git restore <file>
或 git checkout -- <file>
git restore --staged <file>
或 git reset HEAD <file>
git reset HEAD
git reset HEAD^
git reset <commitId>
git revert <commitId>
(新增一个commit抵消以前的commit)脏代码
git stash
git stash list
git stash pop
git stash pop@{0}
git stash drop stash@{0}
代码管理示意图
git tag
git tag -l test**
(获取以test
开头的分支)git tag test-1.0.0
git tag -a test-1.0.0 -m "备注信息"
git push origin test-1.0.0
git push origin --tags
git tag -d test-1.0.0
git push origin --delete test-1.0.0
在整理文章的过程当中,发现原来 git log
有这么多玩法,好比说 --pretty
支持自定义输出样式,-S
能够按内容查询日志,还有个 git shortlog
,它甚至能按人员统计提交记录、还能排序。 这可比我能想象到的强大多了。
git log master..dev
(找出 dev 比 master 多的 commit)git log
,git log dev
git log origin
,git log origin/dev
git log -S "Hello World"
git shortlog
-s
:省略注释,仅返回一个统计数-n
:按照 commit 数量递减输出参数 | 说明 |
---|---|
--oneline |
格式化,一行显示,更简洁清晰的展现 |
--stat |
显示每次提交的文件增删数量 |
--graph |
图像化展现提交历史记录 |
--author |
指定用户 |
--pretty=format |
自定义输出格式 |
--since=<date> / --after=<date> |
指定日期以后 |
--until=<date> / --before=<date> |
指定日期以前 |
查询指定用户某个时间区间的提交记录: git log --author="tangjinzhou" --after="2021/6/1" --before="2021/6/30" --oneline
自定义输出格式:git log --author="tangjinzhou" --pretty=format:"%h | %ad | %s"
自定义格式的参数说明
参数 | 说明 |
---|---|
%H | 提交对象(commit)的完整哈希字串 |
%h | 提交对象的简短哈希字串 |
%T | 树对象(tree)的完整哈希字串 |
%t | 树对象的简短哈希字串 |
%P | 父对象(parent)的完整哈希字串 |
%p | 父对象的简短哈希字串 |
%an | 做者(author)的名字 |
%ae | 做者的电子邮件地址 |
%ad | 做者修订日期(能够用 |
%ar | 做者修订日期,按多久之前的方式显示 |
%cn | 提交者(committer)的名字 |
%ce | 提交者的电子邮件地址 |
%cd | 提交日期 |
%cr | 提交日期,按多久之前的方式显示 |
%s | 提交说明 |
更多的
Git Log
玩法:git-scm.com/docs/git-lo…