git - 远程添加origin vs remote set-url origin

时间:2017-03-16 09:53:18

标签: git github

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

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

EDIT1:

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

10 个答案:

答案 0 :(得分:356)

下面的

用于添加新的遥控器:

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

答案 1 :(得分:50)

  • 当您运行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添加远程存储库。

答案 2 :(得分:45)

下面将重新初始化您的本地回购;还清除远程回购(即原产地):

git init

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

git remote add origin [repo-url]

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

git remote set-url origin [repo-url]

此外,您可以使用

检查现有的遥控器
git remote -v

希望这有帮助!

答案 3 :(得分:21)

git remote add =&gt; ADDS 新的遥控器。

git remote set-url =&gt; 更新现有遥控器。

  1. add之后的远程名称是该命令之前不存在的新远程名称。
  2. set-url之后的远程名称应作为存储库的远程名称存在。
  3. git remote add myupstream someurl =&gt; myupstream远程名称现在不存在,现在使用此命令创建它。

    git remote set-url upstream someurl =&gt;上游远程名称已经存在我只是更改了它的网址。

    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
    

答案 4 :(得分:20)

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

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

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

答案 5 :(得分:11)

<块引用>

这很简单如果您已经设置了远程源网址,那么您可以使用 set-url 命令来更改它,否则只需使用 add 命令

  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 为您的存储库设置新来源。
  4. 最后使用 git push -u origin master 将您的代码推送到远程并将上游(跟踪)引用添加到您的远程分支。

注意:如果您使用 -u 标志,它用于上游,它使您可以简单地使用 git pull 而不是 {{1} } 在即将进行的操作中。

快乐编码;)

答案 6 :(得分:8)

您不能仅在remote set-url origin 之后调用git init,因为 git remote set-url命令不会创建源,但会更改现有的远程存储库网址

因此,git remote set-url命令仅在您克隆了存储库或手动添加了一个称为origin的远程方式后才有效。

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

1。 git remote add

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

git remote add命令带有两个参数:

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

例如:

git remote add

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

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

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

  1. 现有的远程名称。例如,git remote set-urlorigin是两个常见选择。
  2. 遥控器的新URL

例如,您可以使用upstream命令将远程URL从SSH更改为HTTPS。

git remote set-url

您可以使用命令git remote set-url origin https://github.com/USERNAME/REPOSITORY.git 来验证远程URL是否已更改。

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

例如:

git remote -v

来自github的引用:remote addremote set-url

答案 7 :(得分:4)

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

  • 此命令是使用git init将git初始化为当前工作存储库后的命令系列的第二步。
  • 此命令仅表示“您是否要在要推送文件的远程计算机/服务器上添加存储库的位置?” 。要验证是否正确设置了遥控器,请输入:git remote -v

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

此命令意味着,如果您偶然偶然偶然将其推送到错误的存储库,则可以使用上述命令“重置远程存储库路径”

3. git push -u remote master

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

要了解存储库类型中所有分支的列表:git branch

答案 8 :(得分:2)

尝试一下:

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

答案 9 :(得分:2)

如果您有现有项目,并且想添加远程存储库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