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

Irb*_*bis 345 git github

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

git init
echo "# MESSAGE" >> README.md
git add README.md
git commit -m "first commit"
Run Code Online (Sandbox Code Playgroud)

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

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

git remote add origin git@github.com:User/UserRepo.git
git remote set-url origin git@github.com:User/UserRepo.git
Run Code Online (Sandbox Code Playgroud)

最后我执行推送:

git push -u origin master
Run Code Online (Sandbox Code Playgroud)

EDIT1:

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

Shu*_*tri 432

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

git remote add origin git@github.com:User/UserRepo.git
Run Code Online (Sandbox Code Playgroud)

下面用于更改现有远程存储库的URL:

git remote set-url origin git@github.com:User/UserRepo.git
Run Code Online (Sandbox Code Playgroud)

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

git push -u origin master
Run Code Online (Sandbox Code Playgroud)

文档

  • `-u` *让你将当前的本地分支指向远程主分支* 我不明白**为什么**我想这样做。我的意思是,假设我从 master 中拉出,创建了一个新的 featureBranch...提交了我的更改,然后将我的更改推送到 origin/featureBranch,然后我将该功能合并/拉到我的 master 中。<——此刻我的featureBranch还没有完成吗?为什么我需要它指向远程主分支?我不应该签出本地/主站,然后从最新的来源拉取吗? (3认同)
  • 如果我从 A 克隆到本地,然后使用“git remote set-url B”。会删除A中的存储库吗?我正在尝试从 AWS 代码提交克隆存储库到 GitLab (2认同)
  • 答案非常好,除了“-u”标志的解释,在我看来,这是误导性的。为了解释 `-u` 标志,我建议看看这个线程 /sf/ask/1320747711/ -起源主控 (2认同)

小智 59

  • 运行时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添加远程存储库.


vpi*_*ano 52

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

git init
Run Code Online (Sandbox Code Playgroud)

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

git remote add origin [repo-url]
Run Code Online (Sandbox Code Playgroud)

否则,您可以使用set-url子命令编辑现有远程:

git remote set-url origin [repo-url]
Run Code Online (Sandbox Code Playgroud)

此外,您可以检查现有的遥控器

git remote -v
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助!

  • 在新初始化的存储库上,``git remote set-url origin ...``` 给我带来了致命消息:没有这样的远程“来源”。```git Remote add origin ...``` 有效。 (2认同)

Tom*_*vid 26

git remote add=> ADDS一个新的遥控器.

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
Run Code Online (Sandbox Code Playgroud)


小智 25

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

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

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


Tah*_*667 19

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

  • 在使用初始化git到当前工作仓库后,该命令是命令系列的第二步git init
  • 该命令的简单含义是“您要在要推送文件的远程机器/服务器上添加存储库的位置吗?” 。要验证是否正确设置了遥控器,请输入: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


Viv*_*aru 15

这很简单如果您已经设置了远程源 url,那么您可以使用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而不是git pull origin <branch-name>在即将进行的操作中使用。

快乐编码;)


Har*_*hil 8

remote set-url origin之后不能调用git init,因为该git remote set-url命令不会创建原点,但它会更改现有的远程存储库URL.

因此,git remote set-url只有在克隆存储库或手动添加远程调用源时,该命令才有效.

您可以使用命令检查远程,git remote -v它将在名称后显示远程URL,或者如果此命令给出错误,fatal: Not a git repository (or any of the parent directories): .git那么存储库不存在,因此您必须使用命令添加origingit 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
Run Code Online (Sandbox Code Playgroud)

2.git remote set-url

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

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

  1. 一个现有的远程名.例如,origin或者upstream是两种常见的选择.
  2. 一个远程新的URL

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

git remote set-url origin https://github.com/USERNAME/REPOSITORY.git
Run Code Online (Sandbox Code Playgroud)

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

注意: "origin"是一个不属于命令的约定."origin"是远程存储库的本地名称.你可以使用任何名称而不是"origin".

例如:

git remote add myorigin git@github.com:user/repo.git
git remote set-url myorigin https://github.com/user/repo.git
Run Code Online (Sandbox Code Playgroud)

来自github的引用:remote add,remote set-url


小智 6

尝试这个:

git init  
git remote add origin your_repo.git  
git remote -v  
git status  
Run Code Online (Sandbox Code Playgroud)


小智 5

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

git init
Run Code Online (Sandbox Code Playgroud)

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

git add README.md
Run Code Online (Sandbox Code Playgroud)

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

git commit -m "first commit"
Run Code Online (Sandbox Code Playgroud)

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

git remote add origin git@github.com:user-name/repository-name.git
Run Code Online (Sandbox Code Playgroud)

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

git push -u origin master
Run Code Online (Sandbox Code Playgroud)