【问题标题】:git - remote add origin vs remote set-url origingit - 远程添加原点与远程设置 URL 原点
【发布时间】:2017-08-07 10:04:09
【问题描述】:

我创建了一个新的存储库:

git init
echo "# MESSAGE" >> README.md
git add README.md
git commit -m "first commit"

然后我想将我的提交推送到在 github 上创建的空远程存储库,所以我必须设置远程。

使用以下命令有什么区别? :

git remote add origin git@github.com:User/UserRepo.git
git remote set-url origin git@github.com:User/UserRepo.git

最后我执行推送:

git push -u origin master

当我在git init 之后调用git remote set-url origin 会发生什么? git remote set-url origin 是否创建原点?如果 git init 之后的 origin 已经存在,那么在我的场景中使用这些命令没有区别,对吧?

【问题讨论】:

    标签: git github


    【解决方案1】:

    下面用于添加一个新的遥控器:

    git remote add origin git@github.com:User/UserRepo.git
    

    以下用于更改现有远程存储库的 url:

    git remote set-url origin git@github.com:User/UserRepo.git
    

    下面会将您的代码推送到使用origin-u 定义的远程存储库的主分支,让您将当前本地分支指向远程主分支:

    git push -u origin master
    

    Documentation

    【讨论】:

    • 如果我从 A 克隆到本地,然后使用“git remote set-url B”。它会删除A中的存储库吗?我正在尝试从 AWS 代码提交到 GitLab 克隆存储库
    • 通常当我创建一个新的 repo 时,我犯了一个错误并将源设置为上游。最终需要使用第二个命令git remote set-url origin git@github.com:User/UserRepo.git 更正它
    • -u 让您将当前本地分支指向远程主分支我不明白为什么我想这样做.我的意思是,假设我从 master 中提取,创建了一个新的 featureBranch ...提交我的更改,然后将我的更改推送到 origin/featureBranch,然后我将该功能合并/拉到我的 master 中。
    • 答案非常好,除了-u标志的解释,在我看来,这是一种误导。对于-u 标志的解释,我建议看看这个线程stackoverflow.com/questions/18867824/…
    • 和 -u 让您将当前本地分支指向远程 master 分支:我不明白这一行...您的意思是指向什么?
    【解决方案2】:

    下面将重新初始化您的本地仓库;还清除远程仓库(即来源):

    git init
    

    然后在下面,如果'origin'不存在,将创建它:

    git remote add origin [repo-url]
    

    否则,您可以使用set-url 子命令来编辑现有遥控器:

    git remote set-url origin [repo-url]
    

    此外,您可以使用

    检查现有遥控器
    git remote -v
    

    希望这会有所帮助!

    【讨论】:

    • git remote set-url origin ... 在一个新初始化的 repo 上给了我致命的消息:没有这样的远程“来源”。 git remote add origin ... 工作。
    • @RobbVandaveer 感谢您的收获!我更新了正确使用子命令的答案set-url
    【解决方案3】:
    • 当您运行git remote add origin git@github.com:User/UserRepo.git 时,会创建一个名为origin 的新远程。
    • 当您运行git remote set-url origin git@github.com:User/UserRepo.git 时,git 会搜索名称为origin 的现有远程并更改它的远程存储库URL。如果 git 无法找到任何名称为 origin 的遥控器,则会引发错误 fatal: No such remote 'origin'

    如果您要创建一个新的存储库,请使用git remote add origin git@github.com:User/UserRepo.git 添加远程。

    【讨论】:

    • 请看Edit1
    • git init 不添加任何来源。只有 git 存储库将被初始化。如果您克隆任何现有存储库,则它具有远程源。建议使用git add,在git init 之后而不是set-url
    • @Ram 显然不要在 git init 之后调用 set-url ,因为它没有意义。 set-url 是更改,add 是添加新的遥控器。
    【解决方案4】:

    1. git remote add origin git@github.com:User/UserRepo.git

    • 此命令是使用 git init 将 git 初始化到当前工作存储库之后命令系列中的第二步。
    • 此命令仅表示 “您正在添加远程存储库的位置,您希望将文件推入/拉出 !!..”
    • 您的远程存储库可以位于 github、gitlab、bitbucket 等的任何位置。
    • 这里origin 是您的远程存储库的别名/备用名称,因此您不必每次都键入远程的完整路径,因此您声明您将使用此名称(来源)来引用你的遥控器。这个名字可以是任何东西。
    • 要验证远程设置是否正确,请键入:git remote -v

    git remote get-url origin

    2. git remote set-url origin git@github.com:User/UserRepo.git

    这个命令意味着如果在任何阶段你想在第一次更改存储库的位置(即如果你在使用git add 命令添加远程路径时出错),你可以轻松返回 & "reset(update) your current remote repository path" 使用上述命令。

    3. git push -u origin master

    此命令只是将您的文件推送到远程存储库。Git 有一个称为 “分支” 的概念,因此默认情况下所有内容都推送到 ma​​ster分支,除非明确指定备用分支。

    要了解存储库中所有分支的列表,请键入:git branch

    【讨论】:

      【解决方案5】:

      要添加新的远程,请在终端上使用git remote add 命令,在存储库所在的目录中。

      git remote set-url 命令更改现有远程存储库 URL。

      所以基本上,remote add 是添加一个新的,remote set-url 是更新一个现有的

      【讨论】:

        【解决方案6】:

        git remote add => 添加一个新的遥控器。

        git remote set-url => 更新现有遥控器。


        1. add 之后的远程名称是在该命令之前不存在的新远程名称。
        2. set-url 之后的远程名称应该已经作为远程名称存在于您的存储库中。

        git remote add myupstream someurl => myupstream 远程名称不存在现在使用此命令创建它。

        git remote set-url upstream someurl => 上游远程名称已经存在,我只是在更改它的 url。


        git remote add myupstream https://github.com/nodejs/node => **ADD** If you don't already have upstream
        git remote set-url upstream https://github.com/nodejs/node # => **UPDATE** url for upstream
        

        【讨论】:

          【解决方案7】:

          这很简单如果你已经设置了一个远程源 url 然后你使用set-url 命令来改变它,否则只需使用add 命令

          如果你还没有一个 git repo 已经用git init启动了一个

          1. git remote -v 检查是否有遥控器存在
          2. 如果则使用git remote set-url origin git@github.com:User/UserRepo.git更改原点
          3. 如果 ,则使用 git remote add origin git@github.com:User/UserRepo.git 为您的 repo 设置新的来源。
          4. 最后使用git push -u origin master 将您的代码推送到远程并向远程分支添加上游(跟踪)引用。

          注意:如果您使用-u 标志,它表示上游,它使您能够在接下来的操作中简单地使用git pull 而不是git pull origin <branch-name>

          【讨论】:

            【解决方案8】:

            试试这个:

            git init  
            git remote add origin your_repo.git  
            git remote -v  
            git status  
            

            【讨论】:

              【解决方案9】:

              你不能在git init之后调用remote set-url origin,因为git remote set-url命令不会创建源,但是它会改变一个现有的远程仓库URL

              因此,git remote set-url 命令只有在您克隆了存储库或手动添加了名为 origin 的远程设备时才有效。

              您可以使用命令git remote -v 远程检查它会在名称后显示远程网址,或者如果此命令给出类似fatal: Not a git repository (or any of the parent directories): .git 的错误,则存储库不存在,因此您必须使用命令git remote add 添加源

              1. git remote add

              此命令用于添加新的远程,您可以在终端上使用此命令,在您的存储库目录中。

              git remote add 命令有两个参数:

              1. 远程名称,例如来源
              2. 远程 URL,例如,https://github.com/user/repo.git

              例如:

              git remote add origin https://github.com/user/repo.git
              

              2.git remote set-url

              git remote set-url 命令更改现有的远程存储库 URL。

              git remote set-url 命令有两个参数:

              1. 现有的远程名称。例如,originupstream 是两个常见的选择。
              2. 远程的新 URL

              例如,您可以使用git remote set-url 命令将远程的 URL 从 SSH 更改为 HTTPS。

              git remote set-url origin https://github.com/USERNAME/REPOSITORY.git
              

              您可以使用命令git remote -v 验证远程 URL 是否已更改。

              注意:“origin”是一个约定,不是命令的一部分。 “origin”是远程存储库的本地名称。您可以使用任何名称代替“起源”。

              例如:

              git remote add myorigin git@github.com:user/repo.git
              git remote set-url myorigin https://github.com/user/repo.git
              

              来自 github 的参考资料:remote addremote set-url

              【讨论】:

                【解决方案10】:

                如果您有现有项目并且想要添加远程存储库 url,那么您需要执行以下命令

                git init
                

                如果您想添加 readme.md 文件,那么您可以创建它并使用以下命令添加它。

                git add README.md
                

                使用以下命令进行第一次提交

                git commit -m "first commit"
                

                现在您完成了所有本地存储库过程,现在您如何添加远程存储库 url ?检查下面的命令,这是 ssh url,您可以将其更改为 https。

                git remote add origin git@github.com:user-name/repository-name.git
                

                如何推送您的第一个提交,请参见以下命令

                git push -u origin master
                

                【讨论】:

                  猜你喜欢
                  • 2014-02-07
                  • 2017-01-07
                  • 1970-01-01
                  • 2023-03-24
                  • 1970-01-01
                  • 1970-01-01
                  • 2020-04-22
                  • 1970-01-01
                  • 2013-02-07
                  相关资源
                  最近更新 更多