一、远程仓库的操作命令
git remote # 查看当前项目关联的远程库
我事先关联了一个GitHub的远程仓库,关于如何关联远程仓库,可以看这篇文章远程仓库GitHub和Gitee_林涧泣的博客-CSDN博客
git remote add [仓库服务器名] [远程仓库地址] # 关联远程仓库
这部分在上面文章中有详细提到用法。
git remote remove [仓库服务器名] # 与远程库取消关联
git push -u [仓库服务器名] [分支名] # 向远程仓库推送代码,并和当前分支关联
这一部分的用法在上面的文章中也有提到
有一点需要注意,我们只有在第一次推送代码的时候才加上[仓库服务器名] [分支名]。
之后在同样仓库服务器和分支上进行操作的时候,可直接使用 git push 进行代码的推送。
git push [仓库服务器名称] [本地仓库分支]:[远程仓库分支] # 将本地仓库分支上传至远程仓库分支
二、解决本地仓库和远程仓库版本不同导致的推送代码失败
当我们在实际开发的时候是有很多人公用一个远程,当有人对远程仓库进行代码上传时,对于远程仓库的更新是实时的,但是连接远程仓库的本地仓库是不知道的,如下所示:
这时候如果我们上传一个同样文件名的代码,如果本地仓库的版本低于远程仓库的版本,git push 是默认推送失败的。
想要推送成功,就需要保证远程仓库和本地仓库的版本保持一致。
git fetch # 从远程仓库上下载所有的代码,但是不会将代码和当前分支自动合并
git merge [仓库服务器名]/[分支名] # 合并远程仓库代码和本地仓库代码
因为当下载远程仓库上的代码时,遇到文件名相同的文件不会自动合并,所以本地仓库上的代码不会改变。
注意:推送代码之前一定要从远程仓库中拉取最新的代码!
git pull # 从远程仓库上下载代码并自动合并
相当于选择保留双方更改,其灵活性相对于git fetch 来说较差。