git常用操作合集

基本操作
git status 查看文件处于什么状态
git status -s 带上-s参数,可以以更紧凑的格式输出文件状态信息

git add 开始追踪该文件或者暂存已修改的文件。

.gitignore 文件,忽略一些不希望跟踪的文件

git diff 查看已暂存和未暂存的文件的差异,未暂存的也就是当前目录下的当前文件
git diff --cached 查看已暂存的和待提交之间的差异

git commit -a 跳过使用暂存区域
相当于以下两条命令
git add files
git commit files

git rm 撤销跟踪文件

git mv 移动或重命名文件

git update-index --assume-unchanged 文件名,   忽略文件的改动,但是不加入.gitignore 文件中,这样可以达到仅在本地目录中忽略,不影响其他团队成员的工作。

git update-index --no-assume-unchanged 文件名, 上一个命令的逆操作,重新追踪文件改动

 


查看提交历史
git log 查看提交历史,默认只显示提交时间,作者,SHA-1校验和

git log -p -2 -p参数表示查看提交的内容差异,-2表示查看最近两次的提交

git log --stat 只查看每次提交的简略信息,会列出本次提交所有被修改的文件列表

git log --since='Mon Dec 2 00:57:57 2019' --until='Mon Dec 2 01:29:21 2019' 只查看某个时间区间的提交

git log --author='username' 只显示指定的作者的提交历史

git log -S 'main' 对差异内容进行搜索,列出包含字符串 "main"的提交

git log --grep 'test' 对提交的注释进行搜索,列出包含字符串 "test"的提交

git checkout -- <file> 恢复工作区的内容,如果有暂存区版本,则用暂存区版本覆盖工作区版本,如果没有暂存区版本,则用已提交版本覆盖工作区版本

git log --name-only 查看log只显示改动的文件列表 
 
git diff 3908c71409a567f270ad443eaf24974927d44488 9a204cd88cea150f575c7269d0f68bb22a9d8fff —stat 查看两个版本间修改了哪些文件 
 
git diff 199de7a343f761b4e9de35a7fa10c0d6ad3cedb8 fc8f223e233ec8107af0da2b55abe3c15cac08f -- 查看两个版本间指定的文件的差异

远程仓库的使用
git remote -v 显示需要读写远程仓库使用的 Git 保存的简写与其对应的 URL

git remote add <shortname> <url> 添加一个新的远程 Git 仓库,同时指定一个你可以轻松引用的简写

git fetch origin 从远程仓库"origin" 中拉取并合并到本地

git push origin master 将本地的提交推送到远程仓库"origin"的master分支

git remote show origin 查看远程仓库origin的详细信息

git remote rename origin pb 将远程仓库origin重命名为pb

git remote rm origin 移除远程仓库


使用git标签

给历史中的某一个提交打上标签

git tag 列出已有标签

git tag -l 'v1.8*' 只显示包含"v1.8"的标签

git tag -a v2.1.3 -m 'my version 2.1.3' 给提交打标签 -m 指定该标签的附注

git tag v1.1 轻量标签, 只需要指定标签名称,不需要输入附注

git tag -a v3.4 9fceb02 补打标签,如果提交的时候忘记打标签,可通过指定提交的部分校验和来补上标签

git tag -d 1.2 删除标签

为git命令设置别名

git config --global alias.co checkout
git config --global alias.br branch
git config --global alias.ci commit
git config --global alias.st status


使用分支
git branch <branchName> 创建新的分支

git checkout <branchName> 切换分支

git checkout -b iss53 创建iss53分支,并立即切换到该分支,-b参数表示同时切换到该分支

切换分支前,最好将暂存区的内容先提交,否则可能会产生冲突

git branch -d iss53 删除iss53分支

git merge hotfix 将hotfix分支合并到master分支,假设当前所在分支是master

 

使用git stash暂存未完成的代码来实现跳转分支

git stash 项目完成一部分,需要跳转分支,如果不把当前代码commit,切换分支时会失败,这时可以用git stash来保存当前分支上修改的代码,把当前分支还原到上一次commit的状态

git stash list 查询当前项目中存贮的stash列表(上面会有是在哪个分支上保存的代码,很清晰的呦)

git stash apply [stash@{0}] 重新获取之前保存的代码,可以在另外的分支,也可以在同一分支([]中括号内为可选参数,需要获取第几次的保存,默认为全部,注:会保留之前的stash列表)

git stash pop [stash@{0}] 作用同上,区别是: 1> 中括号内的参数可选,默认为获取第一次 2> 不会保留stash列表

git stash show -p [stash@{0}] | git apply -R 可用来还原获取保存代码之前的状态。中括号内默认为第一条。只用用apply获取的才可以还原的呦

git stash drop [stash@{0}] 删除stash记录,默认删除第一条

git stash clear 清空所有stash记录

 

posted @ 2019-12-21 23:30  xiaxiaosheng  阅读(213)  评论(0编辑  收藏  举报