离开Github,如何改变Git回购的起源?

Ben*_*zco 55 git version-control github dreamhost

我正在Github上主持一个项目,但现在我购买了一个包含shell访问和Git的Dreamhost计划.

      Github [Origin]
       /         \
  pull/           \pull
     /push     push\
    /               \  
Laptop           Dreamhost
(cloned)          (cloned)
Run Code Online (Sandbox Code Playgroud)

我想从Github删除我的回购,并开始直接推送到DH.

如何更改笔记本电脑中的原点,是否应删除Dreamhost中的原点?

cle*_*lee 126

git remote rename origin github
git remote add origin <DreamHost-git-URL>
# test and make sure the DreamHost origin works properly for fetch and push
git remote rm github
Run Code Online (Sandbox Code Playgroud)

我更喜欢使用'git remote'命令,而不是手动使用.git/config文件.

  • 我必须运行以下命令:`git config branch.master.remote origin``git config branch.master.merge refs/heads/master` (5认同)
  • 我同意.我认为`.git/config`的格式是一个实现细节,我*总是*使用像`git remote`和`git config`这样的工具来确保我不搞砸语法. (3认同)
  • 我不得不添加`git config branch.master.remote origin`.似乎git将该变量更改为远程重命名的副作用. (2认同)

小智 59

最简单的方法是:

$ git config remote.origin.url <Dreamhost-git-URL>
Run Code Online (Sandbox Code Playgroud)

你在这之后显示遥控器:

$ git remote -v
origin Dreamhost-git-URL (fetch)
origin Dreamhost-git-URL (push)
Run Code Online (Sandbox Code Playgroud)


Ada*_*ruk 27

最简单的方法是在笔记本电脑上编辑.git/config文件.只需搜索您的github网址并将其替换为DreamHost中的网址.确保在Dreamhost上设置了ssh公钥.现在你可以推送origin master了,你将填充你的dreamhost存储库.

您可以删除dreamhost上的原点,但没有必要.

另外,请确保存在的存储库是裸的.默认情况下,您无法推送到非裸存储库.


sla*_*pon 25

最好的方法是 git remote set-url origin <new-url>

  • 这个评论应该置顶。唯一不依赖于 git 内部配置结构的单行代码 (2认同)