簡體   English   中英

在創建新分支后也需要從master到本地本地倉庫的git pull安全嗎?我也需要在該分支上查看最新更改?

[英]Is it safe to do a git pull from master to my local repo after creating a new branch on which I need to see the latest changes too?

我想從本地本地的遠程倉庫獲取最新的更新。 我通常在master分支上時進行git pull,然后創建一個新分支。 我現在創建了一個新分支(未在本地代碼中添加/更改任何內容),但是在此之前跳過了master上的git pull。 如果我進行git pull,最新的遠程修改會反映在新的本地分支和本地master上,還是應該刪除它並在git pull之后重新創建它? 謝謝!

git的作用取決於您發出的確切命令以及git的配置。

了解pull的第一件事是,它會更新當前分支。 如果先簽出master ,然后再pull ,那么您所做的更改將並入master (但不包含在您的分支中)。 如果您簽出分支,然后pull ,則pull的更改將合並到分支中(但不是master )。 當然,這是分支的重點-對一個分支的更改不會自動影響另一個分支。 如果您想同時影響這兩者,則可以(有關更多信息,請參見下文)。

另外,您可以告訴git將哪些更改合並到當前分支中,或者,如果不指定,它將尋找與當前分支相對應的已配置默認值。 (有些人似乎認為此默認行為是pull所做的,這可能會使他們陷入麻煩。)因此,如果要將遠程master的更改集成到分支中,則可以執行

git checkout my_branch
git pull origin master

我通常不推薦這種用法。 這基本上是

git checkout my_branch
git fetch 
git merge origin/master

這更加明確(因此對配置細節的依賴性降低了,等等)。 我使用了pull相當多的功能,但僅用於其在配置/分支設置為“典型”的回購協議中的默認行為。

現在,如果您希望origin/master更改反映在多個分支中,則必須執行多個合並(和/或變基)操作; 一個給定的pull只會做一個。 因此通常情況下,您首先需要將更改輸入到本地master

git checkout master
git pull

(或者,根據配置,也許您需要git pull origin甚至git pull origin master )。 然后,您可以將它們合並到分支中

git checkout my_branch
git merge master

要么

git rebase master my_branch

Git將嘗試將遠程主服務器合並到您的新分支。 由於您沒有任何更改,因此只需將當前的遠程主服務器添加到您的分支即可。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM