远程仓库
参考博客:
[添加远程库](添加远程库 - 廖雪峰的官方网站 (liaoxuefeng.com))
1、关联远程仓库
关联一个新的远程仓库,并命名
git remote add [shortname] [url]
例如:自己的服务器
# origin:远程仓库名
# git:远程仓库所拥有的用户
# server-name:远程仓库的ip地址
# path:远程仓库的路径
# repo-name.git:远程库
$ git remote add origin git@server-name:path/repo-name.git
例如:Github服务器
# 使用SSH协议
# origin:远程仓库名
# michaelliao:GitHub账号
$ git remote add origin [email protected]:michaelliao/learngit.git
# 使用https协议
$ git remote add origin https://github.com/michaelliao/gitskills.git
注:可在GitHub上复制该语句
2、推送到远程仓库
上传本地指定分支到远程仓库
git push [remote] [branch]
3、断开远程绑定
git remote rm [remote]
此处的“删除”其实是解除了本地和远程的绑定关系,并不是物理上删除了远程库。远程库本身并没有任何改动。要真正删除远程库,需要登录到GitHub,在后台页面找到删除按钮再删除。
4、显示所有远程仓库
git remote -v
5、从远程仓库中下载
-
git clone
下载一个项目和它的整个代码历史到指定文件夹;若省略path,则会在当前路径下生成一个与远程仓库同名的项目。clone操作是一个从无到有的克隆操作,不需要
git init
初始化。git clone [url] [path]
例如:从自己的服务器上下载一个项目到当前目录
# origin:远程仓库名 # git:远程仓库所拥有的用户 # server-name:远程仓库的ip地址 # path:远程仓库的路径 # repo-name.git:远程库 $ git clone git@server-name:path/repo-name.git .
例如:从Github服务器上下载一个项目
# 使用SSH协议 # origin:远程仓库名 # michaelliao:GitHub账号 $ git clone [email protected]:michaelliao/learngit.git # 使用https协议 $ git clone https://github.com/michaelliao/gitskills.git
-
git fetch
下载远程仓库的所有变动
$ git fetch [remote]
-
git pull
取回远程仓库的变化,并与本地分支合并
$ git pull [remote] [branch]
git pull是拉取远程分支更新到本地仓库的操作。比如远程仓库里的学习资料有了新内容,需要把新内容下载下来的时候,就可以使用
git pull
命令。事实上,git pull是相当于从远程仓库获取最新版本,然后再与本地分支merge(合并)。
即:git pull = git fetch + git merge
注:git fetch不会进行合并,执行后需要手动执行git merge合并,而git pull拉取远程分之后直接与本地分支进行合并。更准确地说,git pull是使用给定的参数运行git fetch,并调用git merge将检索到的分支头合并到当前分支中。