ChatGPT解决这个技术问题 Extra ChatGPT

git - 远程添加源与远程设置 URL 源

我创建一个新的存储库:

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 已经存在,那么在我的场景中使用这些命令没有区别,对吧?


T
Top-Master

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

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 中。 <——此时我的 featureBranch 还没有完成吗?为什么我需要它指向远程主分支?我不应该结帐到本地/主人然后从最新的来源拉吗?
答案非常好,除了对 -u 标志的解释,在我看来,这具有误导性。对于 -u 标志的解释,我建议看看这个线程 stackoverflow.com/questions/18867824/…
和 -u 让您将当前本地分支指向远程主分支:我不明白这一行...您的意思是指向什么?
T
Top-Master

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

git init

然后在下面,如果它不存在,将创建“原点”:

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 的答案
R
Ram

当您运行 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 无法找到任何具有名称来源的远程,它会引发一个致命错误:没有这样的远程“来源”。

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


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

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 有一个称为“分支”的概念,因此默认情况下,除非明确指定备用分支,否则所有内容都会推送到主分支。

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


M
Murf

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

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

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


T
Tomer Ben David

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

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

add 之后的远程名称是在该命令之前不存在的新远程名称。 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

N
Nimantha

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

如果您还没有 git 存储库,则已经使用 git init 启动了一个

git remote -v 检查是否已经存在任何远程如果是则使用 git remote set-url origin git@github.com:User/UserRepo.git 更改源如果否则使用 git remote add origin git@github.com:User /UserRepo.git 为您的仓库设置新的来源。最后使用 git push -u origin master 将您的代码推送到远程并将上游(跟踪)引用添加到您的远程分支。

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


ס
סטנלי גרונן

尝试这个:

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

C
Community

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

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

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

<强> 1。 git remote add

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

git remote add 命令有两个参数:

远程名称,例如 origin 远程 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 命令有两个参数:

现有的远程名称。例如,起源或上游是两个常见的选择。远程的新 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


S
Sumit Jaiswal

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