git的一些常用命令
学习了一下git的用法,git的确是一个方便的工具,当然前提是熟练掌握git命令,一般常用的命令并不是很多。
我归纳了一下:
创建版本库 : git init
从工作区添加到暂存区 git add
从暂存区提交到分支 git commit -m “定义本次修改名”
查看版本库: git status
查看工作区和版本库里面最新版本的区别:git diff HEAD
撤销文件在工作区的修改 git checkout -- 文件
撤销暂存区的修改,重新放回工作区:git reset HEAD file
显示从最近到最远的提交日志:git log 可以加上--pretty=oneline --abbrev-commit参数查看简单信息 也可以加上--color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit把内容用颜色区分
用HEAD表示当前版本,也就是最新的提交xxxxxxx,上一个版本就是HEAD^,上上一个版本就是HEAD^^,往上n个可以写成HEAD~n。
把本地master分支的最新修改推送至GitHub: push origin master
查看分支:git branch
创建分支:git branch <name>
切换分支:git checkout <name>
创建+切换分支:git checkout -b <name>
合并某分支到当前分支:git merge <name>
删除分支:git branch -d <name>
储藏当前工作现场 git stash
恢复储藏空间 git stash apply
删除stash内容 git stash drop
恢复的同时把stash内容也删了 git stash pop
查看储藏空间 git stash list
恢复指定的stash git stash apply stash@{n}
查看远程库信息 git remote -v
对对应的commit id打标签如: git tag v1.0 id号
查看标签 git tag
查看某一标签信息 git show v1.0
标签可以用-a指定标签名,-m指定说明文字
例如:git tag -a v1.0 -m "haha" id
删除本地标签 git tag -d v1.0
删除远程标签 git push origin :refs/tags/v1.0
推送某个标签到远程 git push origin v1.0
一次性推送全部尚未推送到远程的本地标签 git push origin --tags
配置别名 如用st代替status: git config --global alias.st status
每个仓库的Git配置文件都放在.git/config文件中 查看 cat .git/config
当前用户的Git配置文件放在用户主目录下的一个隐藏文件.gitconfig中 查看cat .gitconfig
团队工作模式:
首先试图用git push origin branch-name推送自己的修改;
如果推送失败,是因为远程分支比你的本地要新,需要先用git pull试图合并;
如果合并有冲突,先解决冲突,并在本地提交;
没有冲突或者解决掉冲突后,再用git push origin branch-name推送
如果git pull提示“no tracking information”,则说明本地分支和远程分支的链接关系没有创建,用命令git branch --set-upstream branch-name origin/branch-name。