2017-03-16 55 views
45

我創建了一個新的版本庫:混帳 - 遠程添加原產VS遠程設置網址起源

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

然後我想我推承諾在GitHub上創建的,所以我必須設置遠程空遠程倉庫。

使用以下命令有什麼區別? :

git remote add origin [email protected]:User/UserRepo.git 
git remote set-url origin [email protected]:User/UserRepo.git 

最後我執行推:

git push -u origin master 

EDIT1:

當我打電話遠程設置網址起源只是git的初始化後,會發生什麼?遠程設置網址原點是否創建原點?如果在git init之後源已經存在,那麼在我的場景中使用這些命令沒有區別,對吧?

回答

5

要添加新的遠程設備,請在終端上的git remote add命令的存儲庫所在的目錄中使用。

git remote set-url命令更改現有的遠程存儲庫URL。

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

71
git remote add origin [email protected]:User/UserRepo.git 

用於將添加一個新的遠程

git remote set-url origin [email protected]:User/UserRepo.git 

用於更改URL現有遠程存儲庫的一部分

git push -u origin master 

將您的代碼推送到桅杆呃與origin-u定義的遠程倉庫的分支,讓你點你當前的本地分支到遠程主分支

Documentation

+0

如果我從A克隆到我的本地,然後使用「git remote set-url B」。它會刪除A中的存儲庫嗎?我正在嘗試從AWS代碼克隆存儲庫到GitLab – Josh

19
  • 當您運行git remote add origin [email protected]:User/UserRepo.git,然後一個新的遠程創建名爲origin
  • 當您運行git remote set-url origin [email protected]:User/UserRepo.git時,git會搜索名稱爲origin的現有遠程並更改其遠程存儲庫url。如果git無法找到名稱爲origin的任何遙控器,則會產生錯誤fatal: No such remote 'origin'

如果您要創建一個新的存儲庫,然後使用git remote add origin [email protected]:User/UserRepo.git添加遠程。

+0

請參閱Edit1 – Irbis

+0

'git init'不添加任何來源。只有git存儲庫將被初始化。如果您克隆任何現有的存儲庫,那麼它有一個遠程原點。推薦使用'git add',在'git init'而不是'set-url'之後。 – Ram

3

至於EDIT1

git init 

重新初始化你的本地回購;也清除遠程回購(即原產地)。

git set-url origin repo-site 

將打造「原產地」,如果它不存在,否則,它只會改變現有的「出身」的網站(我在git的v 2.12.2 BTW)。此外,您還可以檢查現有的遙控器與

git remote -v 

希望這有助於!