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

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

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


当前回答

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

如果您没有git repo,请使用git init启动一个

gitremote-v检查是否存在任何远程如果是,则使用git远程设置url源git@github.com:User/UserRepo.git更改原点如果否,则使用git远程添加原点git@github.com:User/UserRepo.git为您的repo设置新原点。最后使用gitpush-uoriginmaster将代码推送到远程,并向远程分支添加上游(跟踪)引用。

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

其他回答

gitremoteadd=>添加一个新的远程。

gitremoteseturl=>UPDATES现有远程。


add之后的远程名称是该命令之前不存在的新远程名称。设置url之后的远程名称应该已经作为存储库的远程名称存在。


gitremoteaddmyupstreamsomeurl=>myupstreamremotename不存在,现在使用此命令创建它。

gitremoteseturlsupstreamsomeurl=>upstreamremotename已经存在,我只是在更改它的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

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

git init

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

git remote add origin [repo-url]

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

git remote set-url origin [repo-url]

此外,您可以使用

git remote -v

运行git remote add origin时git@github.com:User/UserRepo.git,然后创建一个名为origin的新远程。当您运行gitremoteseturl-origin时git@github.com:User/UserRepo.git,git搜索具有名称来源的现有远程并更改其远程存储库url。如果git找不到任何具有名称起源的远程,它会引发致命错误:没有这样的远程“起源”。

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

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

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

文档

试试看:

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