2017-10-17 325 views
0

由於我是git的新手,我在開始時遇到了一些麻煩。 (GIT版本2.12.3)如何在Git中顯示本地和遠程文件之間的差異?

我,我可以複製到本地目錄的服務器上的文件(在GitLab)上創建。

git clone [email protected]:/joe/myproject.git 

一切都好,我有一個本地副本的文件。但是,當我將遠程文件(從其他人或服務器上)切換到遠程文件時,即使它們在主服務器上清晰可見,我也無法跟蹤或查看本地客戶端上的更改。不

git diff file1 

git diff origin/master 

或別的東西。

我必須獲取該文件,將其合併,然後我能夠看到新編輯的內容。是否有可能在之前觀察並檢測到新變化

+1

要查看其他人所做的更改,您需要「扯下」其更改。只有這樣你才能將它與你所做的改變進行比較。 – Lix

+0

@Lix,因爲「pull」包含「fetch」和「merge」,我會改變當地的來源,但是我會在*做這樣的改變之前調查差異*。 – Coliban

+1

你可以'git fetch origin'然後'git diff master..origin/master - myfile.txt' – efkin

回答

1

爲了完成你的需求,你從你的遠程倉庫至少fetch需要。只有到那時 - 和之前你merge - 您可以在branch和你origin/branch之間diff

0

在獲取新文件之前,是否可以觀察並檢測新更改?

不,如果您不提取更改,您的本地存儲庫不知道它們。

我必須獲取該文件,將其合併,然後我能夠看到新編輯的內容

你不必把它合併,只把它拿來!

如果你想比較對遠程一個本地路徑比較

,用途:

git diff <repo>/<branch> -- <path> 

例如:

git diff origin/master -- program.cpp 
--- OR --- 
git diff origin/master -- Utils/* 
1

我會做這樣的: -

git fetch origin master 

,然後我會做:

git diff master origin/master 

我想你也可以做一個git pull等於上面給出的兩個命令,但我更喜歡做seperately,這是一個好主意,我想。在一個更簡單的方法來查看你的本地和遠程倉庫的區別語法會是這樣: -

git diff <masterbranch> <remotebranch> 

還有git difftool命令這表明,如果你已經安裝了一個在UI環境的差異,我很少使用這個,所以這對我來說是一個未知的領域。玩的開心。

相關問題