配置别名 Alias
git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"
创建Git仓库
Git init
查看版本修改:git status、git diff、
Git 回退
git checkout <file>
在执行git add 之前,执行 git checkout 放弃当前本地修改,恢复到上次最后提交的版本
git reset <last commit SHA> <file>
git log 查看历史提交记录
git reflog 查看所有历史提交记录
Git 文件操作
删除操作:git rm <file>
文件暂存
j将当前修改暂存:git stash
查看当前暂存的内容:git stash list
恢复内容:git stash apply、git stash pop(会删除本条操作记录)
远程仓库
将本地仓库添加到远程仓库:
git remote add origin 仓库位置
Push推送代码:git push -u origin master(第一次使用需要带参数-u,后面不需要),-u把本地的master分支内容推送到远程新的master分支以及把本地的master分支与远程的master分支关联起来。
后面修改文件提交:
git add .
git commit -m "修改"
git push
分支管理
创建分支:git branch 新分支名称
切换分支:git checkout -b dev dev分支名,-b参数切换到新分支
查看分支:git branch
合并分支:git merge dev
删除分支:git branch -d dev
查看远程分支:git remote -v
推送分支:git push origin dev
撤销变更
git reset HEAD~1:通过把分支记录回退几个提交记录来实现撤销改动。在reset后, C2
所做的变更还在,但是处于未加入暂存区状态。这个方法对大家一起使用的远程分支无效。
git revert HEAD:这个方法针对大家一起使用的远程分支,撤销更改并分享给别人,revert 之后就可以把更改推送到远程仓库与别人分享。
Tag
创建Tag:git tag version1 注意:tag是打在最近的一次Commit记录上的,比如我最近一次提交记录的Commit ID是 7fd772xxxxx,那么执行完 git tag v1.6命令后,tag就打在了这个Commit ID上。
可以指定commit id位置:
git tag v1.0 7fd772 commit id 前6、7位SHA-1 code
创建带标签的Tag: -a 参数来创建一个带备注的tag, 备注信息由 -m 指定:
git tag -a v1.0 -m "publish v1.0 version"
查看Tag:git tag、git show <tagname>
删除:git tag -d <tagname>
推送Tag到远程:git push origin <tagname>
git push origin --tags 推送本地所有Tag
删除远程Tag:(要删除远程Tag,必须先删除本地Tag,删除本地Tag后,再重新push到远程代码仓库)
git tag -d version0
git push origin :refs/tags/version0
练习网站:
Git dojo:Git commands and shortcuts | ShortcutFoo
参考:《Android 群英转:神兵利器》