git的使用以及分支合并遇到的问题

添加远程仓库地址

$ git remote add <name> <ssh url>

测试连接状况

$ ssh -T git@git.coding.net

抓取远程仓库数据到本地

这样就可以本地访问该远程仓库中的所有分支

$ git fetch [remote-name]

远程仓库删除和重命名

$ git remote rename <oldname> <newname>
$ git remote rm  <remote name>

Git手动建立追踪关系

$ git branch --set-upstream master origin/next

版本回退

本地版本回退

$ git reset --hard  <commitID>

此时,本地版本落后于远程版本,push强制推送

$ git push  -f  <remote name>

git pull

git pull命令的作用是,取回远程主机某个分支的更新,再与本地的指定分支合并。它的完整格式稍稍有点复杂。

$ git pull <远程主机名> <远程分支名>:<本地分支名>

如果远程分支是与当前分支合并,则冒号后面的部分可以省略。

$ git pull origin next

git push

git push命令用于将本地分支的更新,推送到远程主机。

$ git push <远程主机名> <本地分支名>:<远程分支名>

注意,分支推送顺序的写法是<来源地>:<目的地>,所以git pull是<远程分支>:<本地分支>,而git push是<本地分支>:<远程分支>。

如果省略远程分支名,则表示将本地分支推送与之存在"追踪关系"的远程分支(通常两者同名),如果该远程分支不存在,则会被新建。

$ git push origin master

git fetch 和pull的区别

  • git fetch:从远程仓库获取最新版本到本地,不会自动merge
git fetch origin master:tmp
git diff tmp
git merge tmp

从远程获取最新版本,比较之后再合并

  • git pull :从远程获取到本地,直接合并

Tips:
在向mastermerge合并的时候,出现冲突,使用git log显示日志的时候发现推送的用户名不同。原来是因为我同时使用了githubcoding两个网站来管理仓库,而两个网站注的册用户名不同。

这里严重提醒,使用多个网站管理仓库的小伙伴,最好不要在config配置文件将用户名和注册邮箱,以及远程仓库的地址写死,最好每次手动添加,才不会出现乱入的情况。

posted @ 2016-12-01 09:31  四个二带俩王  阅读(744)  评论(0)    收藏  举报