2016-11-21

如何同時解決 SourceTree "master 1 behind"及 "develop 1 behind" 問題 ?

如何同時解決 SourceTree "master 1 behind"及 "develop 1 behind" 問題 ?

1) 新建立倉庫 (BIT1605_IDE_USB) 提交至遠程倉庫後,在 SourceTree 中就會顯示如下圖:

 2) 如果其他開發者向遠程倉庫 (BIT1605_IDE_USB) 提交了readme.mk 說明文件,
Pull 遠程 BIT1605_IDE_USB/master 分支來更新代碼。
在 SourceTree 中會顯示如下圖:



3) 在 SourceTree 圖中會顯示:



表示本地 develop 分支超前於遠程的 BIT1605_IDE_USB/develop 分支 1 commit
了。且本地 master 分支則落後於遠程 BIT1605_IDE_USB/master 分支 1 commit 了。 

4) 將本地分支改為 master 分支後,在 SourceTree 就會顯示如下圖:

再選擇 Pull 遠程 BIT1605_IDE_USB/develop 分支進行更新。

5) 更新分支後,在 SourceTree 就會顯示如下圖:

此時在本地的 develop 分支下,可以看到1 ahead,表示本地的 develop 分支已經
超前於遠程 BIT1605_IDE_USB/develop 分支 1 commit 了。 
可以選擇 Push 本地 develop 分支來更新遠程 BIT1605_IDE_USB/develop 分支。


如何解決 SourceTree "develop 1 behind" 問題 ?

如何解決 SourceTree "develop 1 behind" 問題 ?

1) 新建立倉庫 (BIT1605_IDE) 提交至遠程倉庫,在 SourceTree 中就會顯示如下圖:


2) 如果其他開發者向遠程倉庫 (BIT1605_IDE) 提交了readme.mk 說明文件,
Pull 遠程 BIT1605_IDE/master 分支來更新代碼。
在 SourceTree 中會顯示如下圖:


3) 表示本地 develop 及遠程的 BIT1605_IDE/develop 分支,均已經落後於
本地 master 及遠程 BIT1605_IDE/master 分支了。 可以選擇 Push 
遠程 BIT1605_IDE/master 分支來更新本地 develop 分支。


4) 更新分支後,在 SourceTree 中就會顯示如下圖:


此時在本地的 develop 分支下,可以看到1 behind,表示本地的 develop 分支已經
落後於遠程 BIT1605_IDE/develop 分支 1 commit 了。 可以選擇 
Pull 遠程 BIT1605_IDE/develop 分支來更新代碼。

注意: 本地 branch 必須選擇 develop 分支,才會有效。








2016-11-20

如何解決 SourceTree "develop 1 ahead" 問題 ?

如何解決 SourceTree "develop 1 ahead" 問題 ?

1) 如果其他開發者向遠程倉庫 (BIT1603) 提交了readme.mk 說明文件,
所以在 SourceTree 中就會顯示如下:



2) 表示本地 develop 及遠程的 BIT1603/develop 分支,均已經落後於
本地 master 及遠程 BIT1603/master 分支了。 可以選擇 Pull
遠程 BIT1603/master 分支來更新代碼。



3) 更新代碼後,在 SourceTree 中就會顯示如下圖:


此時在本地的 develop 分支下,可以看到1 ahead,表示本地的 develop 分支已經
超前於遠程 BIT1603/develop 分支 1 commit 了。 可以選擇 
Push 來更新代碼至遠程 BIT1603/develop 分支。


如何解決 SourceTree "master 1 behind" 問題 ?

如何解決 SourceTree "master 1 behind" 問題 ?

1) 如果其他開發者向遠程倉庫 (BIT1201_IDE_V104_4) 提交了代碼,
那麼在 SourceTree 中就會顯示如下:


2) 此時在本地的 master 分支下,可以看到1 behind,表示本地的分支已經
落後於遠程分支 1 commit 了。 可以選擇 Pull 來更新代碼。



3) 如果遠程倉庫 (BIT1201_IDE_V104_4) 有其他的分支,那麼需要
先 checkout(檢出)遠程分支到本地,如圖。

4) 在SourceTree中經常會出現track這個詞,表示「跟蹤」,表示本地
某個分支跟蹤遠程某個對應的分支。所以,判斷是ahead還是behind commit的時候,
都是去和 track 的那個分支進行比較的。雙擊本地的某個分支即可完成分支切換。

5) 當在本地新建某個分支的時候,也可以推送到遠程,然後遠程就會有該分支了。
如下所示,在 SourceTree 中新建了 release 分支,但是遠程沒有 release 分支。
就可把該分支進行Push: