1.克隆远程仓库
git clone [gitserver address] 将远程存储库master分支克隆到当前目录,目录名与远程仓库目录名相同
git clone -b [remote branch name] [gitserver address] 表示克隆名为remote branch name的这个分支
git clone [gitserver address] [ localbranchdir name]将远程存储库master分支克隆到当前目录,并重新定义本地目录名称为 localbranchdir name
2.增加与查看远程仓库
git remote add < localshortname> [gitserver address] 添加gitserver address远程仓库,可以指定一个简单的名字 localshortname指代gitserver address
git remote 查看所有的远程仓储名称
git remote -v 查看关联的所有的远程仓储名称及地址
git remote show [gitserver address] 将会显示出gitserver address远程仓库的详信息([gitserver address]可以用< localshortname>代替)
git remote rename [old localshortname] [new localshortname] 重命名远程仓库简称
git remote rm [gitserver address] 解除与远程仓库的关系
3.上传数据到远程仓库
上传数据到远程仓库一般形式为 git push <选项> <远程主机名> <本地分支名> <远程分支名>
git push [remote]推送当前分支到[remote]远程仓库
git push [remote] --force强行推送当前分支到远程仓库,即使有冲突
git push [remote] --all 推送所有分支到远程仓库(不管是否存在对应的远程分支,将本地的所有分支都推送到远程主机)
git push [remote] [local branch]上传本地指定分支到远程仓库
示例:
git push 如果当前分支只有一个远程分支,那么主机名都可以省略,就可以推送当前分支到远程仓库
git push origin 如果当前分支与远程分支存在追踪关系,则本地分支和远程分支都可以省略,将当前分支推送到origin主机的对应分支
git push origin master 表示将本地分支推送到与之存在追踪关系的远程分支(通常两者同名),如果该远程分支不存在,则会被新建
git push -u origin master 如果当前分支与多个主机存在追踪关系,则可以使用 -u 参数指定一个默认主机,这样后面就可以不加任何参数使用git push
git push origin :refs/for/master 推送一个空的本地分支到远程分支,等同于git push origin --delete master
4.下载数据到本地仓库
下载数据到本地仓库语法:git pull <选项> <远程主机名> <远程分支名>:<本地分支名>
git pull <远程主机名> <远程分支名>:<本地分支名>要取回远程主机的远程分支,与本地分支合并
git pull <远程主机名> <远程分支名> 取回取回远程主机的远程分支并与当前分支合并
git pull <远程主机名> 本地的当前分支自动与对应的远程主机的已建立追踪关系分支进行合并
git pull 当前分支自动与唯一的一个追踪分支进行合并
示例:
git pull origin next:master
git pull origin next
git pull origin
git pull
以上pull可以换成fetch
git fetch和git pull的区别:git fetch:相当于是从远程获取最新版本到本地,不会自动合并。git pull:相当于是从远程获取最新版本并merge到本地
git fetch origin mastergit
log -p master..origin/master
git merge origin/master
以上三行命令的含义:首先从远程的origin的master主分支下载最新的版本到origin/master分支上,然后比较本地的master分支和origin/master分支的差别,最后进行合并,用以下三行命令表示更清晰
git fetch origin master:tmp
git diff tmp
git merge tmp
而git pull origin master命令其实相当于git fetch 和 git merge
5.远程分支操作
git branch -a 列出所有本地分支和远程分支
git branch --track [branch] [remote-branch] 新建一个分支,与指定的远程分支建立追踪关系
git branch --set-upstream [branch] [remote-branch] 在现有分支与指定的远程分支之间建立追踪关系
git branch -u [remote-branch] 当前分支与指定的远程分支之间建立追踪关系
git branch -dr [remote/branch] (git push origin --delete [branch-name]) 删除远程分支
git checkout -b [new branch] [start branch] 创建new branch分支并从start branch开始,start branch可以是远程的分支
对于删除远程仓库文件或回滚远程仓库版本需谨慎,用ssh [远程仓库主机地址]登入确认后再操作较为安全如ssh gitserver@192.168.XXX