一、 github添加、删除远程仓库
git remote用于管理远程仓库
git remote 不带参数时可以参看远程仓库名称
git remote -v 可以查看远程仓库名称和网址
git remote add 仓库名 仓库地址 添加远程仓库,同时设置远程仓库的名字,一般仓库名称是origin,当然你也可以写成其他的名字
git remote rm origin 删除名字为origin的远程仓库
二、 github添加、删除本地分支
一个项目在本地的仓库可以有好几个分支。分支是用于项目版本的管理,不同分支上的代码版本可以不一样。
git branch 用于管理分支
git branch 可以查看本地仓库的分支情况
前面带星号的分支是你当前所处的分支。
git branch 分支名 创建分支
这样就创建了名为br的分支
git checkout 分支名 切换到特定分支
以上两个命令可以合成一个命令 :git checkout -b 分支名 相当于创建分支后还切换到新创建的分支
git branch -d 分支名 删除某个分支
此时存现错误是因为我们的现在工作在br分支下,所以不能删除该分支。所以必须先用 git checkout 分支名切换到其他分支后,才能删除br。
git merge 分支名 合并某个分支到现在的所处的分支
三、 github添加、删除远程分支
git branch -r 可以查看远程仓库的分支情况
origin的远程仓库下有一个dev分支
git branch -a 可以查看所以分支的情况,即本地分支和远程分支
上面部分是本地分支,下面红色的部分是远程分支:remotes/
远程分支的创建不能通过git branch 进行。而是在git push的时候默认执行。
所以,我们需要先了解一下git push的用法。
git push <远程主机名> <本地分支名>:<远程分支名>
需注意的是,分支的推送顺序写法是<来源地>:<目的地>
如果省略远程分支名则表示将本地分支推送到与之存在“追踪关系”的远程分支(通常两张同名),如果远程分支不存在,则会被新建。
我们先查看远程仓库中的分支,只有一个dev
运行:
再次查看:
远程仓库便多了一个名为des的分支
远程分支的删除也不能用git branch,同样采用git push
git push <远程主机名> --detete <删除分支名>
或者:
git push <远程主机名> :<远程分支名>
省略本地分支名相当于推送了一个空的本地分支到远程分支上,就相当于删除了远程分支
当然,同删除本地分支一样,这时,我们也可能出现无法删除的情况
现在,我的远程仓库有两个分支:
我要删除一个:
出现如下错误:
进入github的远程仓库,点击如下界面中的setting
进入如下界面,再点击branch
设置branch中的default branch,更改为master之外的分支,这里我设置的dev,然后点击一下update后确认。
这样就把远程仓库的默认分支更改了
然后我们再执行删除master分支的操作
就成功了
四、 git fetch、pull命令的用法
这里我顺带记录一下git pull和fech两个命令的用法
git fetch <远程仓库>
这个命令用于取回远程仓库上的更新到本地仓库,默认是取回远程仓库上的所有更新,如果要取回指定分支上的内容,可以使用:
git fetch <远程仓库> <分支名>
这样取回的分支是不会影响本地仓库中的代码,通常用于查看他人进程。
取回远程分支之后,可以在远程分支的基础上创建新的分支
也可以将远程分支和本地分支合并:
git merge origin/dev
或者
git rebase origin/dev
表示将当前分支与远程分支合并
git pull <远程主机名> <远程分支>:<本地分支>
相当于将origin远程仓库中dev分支上的内容与本地master分支合并。
如果远程分支是与当前分支合并,可以省略冒号后的内容
相当于将origin远程仓库中dev分支上的内容与本地当前分支合并。
其他关于git命令更详细的介绍可以参考:
http://www.ruanyifeng.com/blog/2014/06/git_remote.html