好久没用git,来复习一下:
廖雪峰的Git教程
我把原文中重要的点都摘抄下来,把下面的命令掌握熟就够了
- 把当前版本回退到上一个版本
git reset --hard HEAD^
git reset --hard 3628164 - 查看你的每一次命令
git reflog - 把readme.txt文件在工作区的修改全部撤销,
git checkout – readme.txt
就是让这个文件回到最近一次git commit或git add时的状态。 - 把暂存区的修改撤销掉(unstage),重新放回工作区
git reset HEAD readme.txt - 从版本库中删除文件
git rm test.txt - 创建dev分支,然后切换到dev分支
git checkout -b dev
git checkout命令加上-b参数表示创建并切换,相当于以下两条命令: $ git branch dev $ git checkout dev - 查看当前分支
git branch - 切换回master分支
git checkout master - 把dev分支的工作成果合并到master分支上
git merge dev
git merge命令用于合并指定分支到当前分支。 - 删除dev分支
git branch -d dev - 把当前工作现场“储藏”起来
git stash - 工作现场存到哪去了?
git stash list - 需要恢复一下工作现场
一是用git stash apply恢复,但是恢复后,stash内容并不删除,你需要用git stash drop来删除; 另一种方式是用git stash pop,恢复的同时把stash内容也删了 - 恢复指定的stash
git stash apply stash@{0} - 查看远程库的信息
git remote
用git remote -v显示更详细的信息: - 推送分支
git push origin master
推送时,要指定本地分支,这样,Git就会把该分支推送到远程库对应的远程分支上: - 多人协作的工作模式
1.首先,可以试图用git push origin branch-name推送自己的修改;
2.如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并;
3.如果合并有冲突,则解决冲突,并在本地提交;
4.没有冲突或者解决掉冲突后,再用git push origin branch-name推送就能成功! 如果git pull提示“no tracking information”,则说明本地分支和远程分支的链接关系没有创建,用命令git branch --set-upstream branch-name origin/branch-name。 - 打一个新标签
首先,切换到需要打标签的分支上,然后git tag v1.0 - 查看所有标签
git tag - 对特定提交打标签
git tag v0.9 6224937 - 查看标签信息
git show v0.9 - 创建带有说明的标签
用-a指定标签名,-m指定说明文字:
$ git tag -a v0.1 -m “version 0.1 released” 3628164 - 删除标签
git tag -d v0.1 - 推送某个标签到远程,
git push origin v1.0 - 一次性推送全部尚未推送到远程的本地标签
git push origin --tags - 删除远程标签
先从本地删除: $ git tag -d v0.9
远程删除。删除命令也是push,但是格式如下: $ git push origin :refs/tags/v0.9