Git教程
Git 教程
Git 常用命令
分支
Git 鼓励大量使用分支:
-
查看分支:
git branch
-
创建分支:
git branch <name>
-
切换分支:
git checkout <name>
-
创建 + 切换分支:
git checkout -b <name>
-
合并某分支到当前分支:
git merge <name>
-
删除分支:
git branch -d <name>
-
当你的小伙伴从远程库 clone 时,默认情况下,你的小伙伴只能看到本地的 master 分支。不信可以用 git branch 命令看看:
$ git branch * master
-
现在,你的小伙伴要在 dev 分支上开发,就必须创建远程 origin 的 dev 分支到本地,于是他用这个命令创建本地 dev 分支:
-
建立本地分支和远程分支的关联,使用
git branch --set-upstream branch-name origin/branch-name
-
在本地创建和远程分支对应的分支,使用
git checkout -b branch-name origin/branch-name
,本地和远程分支的名称最好一致$ git checkout -b dev origin/dev
-
git diff
只检查我们的工作区和暂存区之间的差异 -
git diff --cached
检查暂存区和本地仓库之间的差异 -
git diff master origin/master
检查本地仓库和远程仓库之间的差异
建立和解除与远程仓库的关联
- 关联远程仓库 :
$git remote add github git@github.com:Jinphy/GitTest.git
- 解除远程仓库 :
$ git remote rm github
- 查看远程库的信息 :
git remote
git remote -v
- 重命名远程仓库,把默认的origin改为github :
git remote rename origin github
撤销修改
-
已修改,未暂存,即文件在 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 Git
- 比较本地工作区或暂存区或本地仓库的文件与远程库的区别 Eclipse synchronize workspace