远程操作主要是指,在不同的仓库之间进行提交和代码更改。是一个明显的对等的分布式系统。其中本地个仓库与远程仓库,不同的远程仓库之间都可以建立这种关系。这种关系之间的操作主要有pull和push。
创建SSH key远程仓库和本地仓库一般是通过ssh通信的,需要ssh通信的加密钥匙。
id_rsa是私钥,id_rsa.pub是公钥,可以告诉别人。
ssh-keygen -t rsa -C 'yinkanglong@163.com'
登录github,添加公钥内容。建立本地与远程仓库的通信协议
github的界面操作可以很轻松的创建一个远程仓库。但如果想要直接上传自己本地的完整git库,必须创建一个没有lisence和readme的空库。
git remote add origin git@github.com:michaelliao/learngit.git
将本地仓库和远程仓库进行关联。一般都叫远程关联仓库为origin,本地的主干分支一般名为master
git push -u origin master
将本地的主干分支master推送到远程的origin分支上。-u参数实现了两个分支的关联,将远程的git仓库的master和本地的master进行了分支管理,当再次执行时,只需要使用git
push origin master命令。
git clone git@github.com:michaelliao/gitskills.git
git remote
列出你和远程仓库之间的远程连接
git remote -v
列出每个连接的名字和url
git remote add
创建一个新的远程连接并添加名字
git remote rm
移除远程仓库的链接
git fetch
拉取仓库中的所有分支(包括相关的文件和所有的提交)
git fetch
拉取制定仓库中的所有分支(包括相关的文件和所欲的提交)
注意,这个步骤知识拉取远程的分支,在本地并没有合并也没有生成本地分支,知识一个可读的远程分支。
- 使用git branch -r 命令可以查看所有只读的远程分支。
- 使用gitcheckout命令可以创建本地分支,并与远程分支关联。
- 使用git merge命令可以将远程分支与本地分支合并。
git pull remote
拉取当前分支对应的远程副本,并将远程副本的更改写入本地副本。相当于git fetch之后git merge。
git pull -rebase \
使用git rebase命令合并远程分支与本地分支,不使用git merge
git push \
将制定分支推送到远程分支。包括所有的文件和提交。
git push --force
强制推送
git push --all
本地所有的分支推送到远程仓库当中
git push --tags
将本地所有标签推送到远程仓库中