Git教程
Posted hoonick
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Git教程相关的知识,希望对你有一定的参考价值。
Git教程
Git常用命令
分支
Git鼓励大量使用分支:
- 查看分支:
git branch
- 创建分支:
git branch <name>
- 切换分支:
git checkout <name>
- 创建+切换分支:
git checkout -b <name>
- 合并某分支到当前分支:
git merge <name>
- 删除分支:
git branch -d <name>
- 查看远程库的信息,用
git remote
git remote -v
当你的小伙伴从远程库clone时,默认情况下,你的小伙伴只能看到本地的master分支。不信可以用git branch命令看看:
$ git branch * master
现在,你的小伙伴要在dev分支上开发,就必须创建远程origin的dev分支到本地,于是他用这个命令创建本地dev分支:
$ git checkout -b dev origin/dev
git diff
只检查我们的工作区和暂存区之间的差异
git diff --cached
检查暂存区和本地仓库之间的差异
git diff master origin/master
检查本地仓库和远程仓库之间的差异
撤销修改
已修改,未暂存,即文件在Working Area中
git checkout . 或 git reset --hard 来进行撤销操作
一对反义词 git add .的反义词是git checkout .。做完修改之后,如果你想向前走一步,让修改进入暂存区,就执行git add .,如果你想向后退一步,撤销刚才的修改,就执行git checkout .
已暂存,未提交,即文件在Staging Area中
git reset git checkout . 或者 git reset --hard
git reset只是把修改退回到了git add .之前的状态,也就是说文件本身还处于已修改未暂存状态,你如果想退回未修改状态,还需要执行git checkout .。
或许你已经注意到了,以上两个步骤都可以用同一个命令git reset --hard来完成。是的,就是这个强大的命令,可以一步到位地把你的修改完全恢复到未修改的状态。
- 已提交,未推送,即文件在Local Repository中
git reset --hard origin/master
- 已推送,即文件在Remote Repository中
很不幸,你的手实在是太快了,你既git add了,又git commit了,并且还git push了,这时你的代码已经进入远程仓库。如果你想恢复的话,还好,由于你的本地仓库和远程仓库是等价的,你只需要先恢复本地仓库,再强制push到远程仓库就好了
git reset --hard HEAD
git push -f
- Eclipse synchronize workspace
比较本地工作区或暂存区或本地仓库的文件与远程库的区别
在本地创建和远程分支对应的分支,使用git checkout -b branch-name origin/branch-name
,本地和远程分支的名称最好一致
建立本地分支和远程分支的关联,使用git branch --set-upstream branch-name origin/branch-name
以上是关于Git教程的主要内容,如果未能解决你的问题,请参考以下文章