前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Git(五)——远程仓库

Git(五)——远程仓库

作者头像
羊羽shine
发布2019-05-29 16:41:52
4420
发布2019-05-29 16:41:52
举报
文章被收录于专栏:Golang开发

image.png

git clone

下载远程仓库到本地 git clone <版本库的网址>例如远程仓库地址是https://git.coding.net/baxiang/gitTest.git,执行下载到本地命令

代码语言:javascript
复制
git clone https://git.coding.net/baxiang/gitTest.git
git remote

git remote命令列出所有远程主机

代码语言:javascript
复制
$ git remote -v
origin  https://git.coding.net/baxiang/gitTest.git (fetch)
origin  https://git.coding.net/baxiang/gitTest.git (push)

git remote add命令用于添加远程主机

代码语言:javascript
复制
git remote add <主机名> <网址>

删除远程主机

代码语言:javascript
复制
 git remote rm <主机名>
git push

命令用于将本地分支的更新,推送到远程主机

代码语言:javascript
复制
git push <远程主机名> <本地分支名>:<远程分支名>
代码语言:javascript
复制
git push origin master

命令表示,将本地的master分支推送到origin主机的master分支。如果master不存在,则会被新建。 如果省略本地分支名,则表示删除指定的远程分支,因为这等同于推送一个空的本地分支到远程分支。

代码语言:javascript
复制
$ git push origin :master
# 等同于
$ git push origin --delete master

上面命令表示删除origin主机的master分支。如果当前分支与远程分支之间存在追踪关系,则本地分支和远程分支都可以省略。

代码语言:javascript
复制
$ git push origin

上面命令表示,将当前分支推送到origin主机的对应分支。如果当前分支只有一个追踪分支,那么主机名都可以省略。

代码语言:javascript
复制
$ git push

如果当前分支与多个主机存在追踪关系,则可以使用-u选项指定一个默认主机,这样后面就可以不加任何参数使用git push。

代码语言:javascript
复制
$ git push -u origin master

上面命令将本地的master分支推送到origin主机,同时指定origin为默认主机,后面就可以不加任何参数使用git push了。

git fetch

拉取远程主机的版本库的更新

代码语言:javascript
复制
 git fetch <远程主机名>
错误处理

git pull 失败 ,提示:fatal: refusing to [merge](https://www.centos.bz/tag/merge/) unrelated histories

其实这个问题是因为 两个 根本不相干的 git 库, 一个是本地库, 一个是远端库, 然后本地要去推送到远端, 远端觉得这个本地库跟自己不相干, 所以告知无法合并

具体的方法, 一个种方法: 是 从远端库拉下来代码 , 本地要加入的代码放到远端库下载到本地的库, 然后提交上去 , 因为这样的话, 你基于的库就是远端的库, 这是一次update

第二种方法: 使用这个强制的方法

git pull origin [master](https://www.centos.bz/tag/master/) --allow-unrelated-histories

后面加上 --allow-unrelated-histories , 把两段不相干的 分支进行强行合并

后面再push就可以了 [git push](https://www.centos.bz/tag/git-push/) [gitlab](https://www.centos.bz/tag/gitlab/) master:init

gitlab是别名 , 使用

Java代码 git remote add gitlab ssh://xzh@192.168.1.91:50022/opt/gitrepo/withholdings/WithholdingTransaction

master是本地的branch名字 init是远端要推送的branch名字

本地必须要先add ,commit完了 才能推上去

关于这个问题,可以参考http://stackoverflow.com/questions/37937984/git-refusing-to-merge-unrelated-histories

在进行git pull 时,添加一个可选项

代码语言:javascript
复制
git pull origin master --allow-unrelated-histories`
常见问题2
代码语言:javascript
复制
$ git push
fatal: The current branch master has no upstream branch.
To push the current branch and set the remote as upstream, use

    git push --set-upstream origin master
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019.04.10 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • git clone
  • git remote
  • git push
  • git fetch
  • 错误处理
  • 常见问题2
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档