git用法笔记

整理内容参考网络资源:廖雪峰的Git简介 以及 阮一峰远程操作详解

参考书籍:《progit》

pre. linux安装git(Ubuntu系统)

apt install git-all

1. 初始化一个git仓库

git clone git地址
git init

2. 生成ssh key

ssh-keygen -t rsa

3. 设置默认编辑器

git config --global core.editor emacs
git config --global core.editor "'C:/Program Files/Notepad++/notepad++.exe' -multiInst -nosession"
git config --list

4. 获取帮助

git help
git add -h

5. 状态变更周期

6. 查看文件状态

git status

7. 使用git管理文件(添加到暂存区)

git add

8. git忽略一些文件

vi .gitignore

9. 查看变化

git diff

10. 提交到暂存区(Staging Area)

git commit -m "备注"

11. 删除文件

git rm

12. 查看提交日志

git log --pretty=oneline  // 查看历史
git log --graph --pretty=oneline --abbrev-commit
git reflog  //查看所有的日志

13. 标签(Tag)

使用Tag可以用来标识发布点,针对分支可以打标签,分为2种:lightweight和Annotated

git tag // 查看所有分支
git tag -l "v1.8.5*"

14. 创建分支

git tag -a v1.4 -m "my version 1.4"  // -a Annotated标签
git tag v1.4-lw // lightweight标签

15. 打标签

git tag -a v1.2 <commitid>
git push origin <tagname>  // 推送分支到远程主机
git push origin --tags // 推送所有分支到远程
git tag -d <tagname> // 删除分支
git checkout tagname // 签到指定分支

16. git使用别名(命令的别名,不建议使用)

git config --global alias.co checkout
git config --global alias.unstage 'reset HEAD --'

17. 分支

git branch // 显示分支 -r 查看远程分支
git branch dev // 创建dev分支
git checkout dev // 切换到dev分支
git checkout -b dev // 创建dev分支并切换
git merge dev // 合并dev分支到当前分支
git branch -d dev // 删除本地dev分支
git push origin --delete dev  //删除远程分支dev

18. git工具

git rev-parse dev 
git reflog
git show HEAD@{n} // 显示哪一个commit信息
git show HEAD // 当前提交 HEAD^上一个提交 HEAD^^ 或 HEAD~3^2
git stash // 保存当前现场 场景:如果手头的工作做了一半,不能提交代码还,这时需要切换到另外的分支去开发
git stash list  // 显示所有的stash
git stash apply stash@{2} // 默认使用最新的一个stash
git stash drop stash@{0} // 删除一个stash
git stash branch <branch> // 从stash创建分支
git clean  // 清理
git log -S --oneline // 搜索日志

19. 撤销修改

场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时:git checkout -- file
场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD <file>就回到了场景1,第二步按场景1操作
场景3:已经提交了不合适的修改到版本库时,想要撤销本次提交, git reset --hard HEAD^ 回退到上一个版本,不过前提是没有推送到远程库

20.远程操作(阮一峰 http://www.ruanyifeng.com/blog/2014/06/git_remote.html

git
作者:张雪飞
出处:https://zhangxuefei.site/p/2236
版权说明:欢迎转载,但必须注明出处,并在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

发表评论

电子邮件地址不会被公开。 必填项已用*标注