顯示具有 git 標籤的文章。 顯示所有文章
顯示具有 git 標籤的文章。 顯示所有文章

2021-03-26

git note 2 - 以指定分支中的特定檔案取代目前分支的同一個檔案

有時候在專案中想開發某功能而又想保留目前專案的可用性,在 git 中會以用 branch (分支) 的方式來進行,等此分支中該功能已開發完整後,再 merge (合併) 到原本的專業主線 (main, master) 來更新新功能。

可是,有時候在分支開發時發現專案中其他的功能有一些小 BUG 在還沒開分支前就已經存在,但在現在有開分支的情況下,改了分支中的 BUG 但主線的卻還是舊的,只能 checkout (切換) 到主線後再改一次同一個 BUG 的部份才行。

這種狀況,一般有幾種處理的方式:

  1. 回到主線,然後把分支合併回主線
    • 這會有另一個問題是本來分支主要是要開發新功能的部份可能會在還沒有開發完整的情況下就合併到主線上,結果造成主線不協調
    • 為了要再繼續改新功能,還需要再開分支再改
  2. 先複製好在分支為了修改 BUG 而影響的檔案的內容,再切換到主線時再將那一些檔案的內容貼上
    • 應該這種沒啥大問題,主要就是考驗記憶力或準備的齊不齊全


2020-12-04

git note 1 - 更改檔名

 git mv [OLD-filename] [new-filename]

example: git mv ABC.txt Abc.txt

會有這個狀況主要是因為在用 codeigniter 開發時,環境有時在 windows ,有時在 linux ,而在 controller 或 model 的規則是檔名首字大寫,其餘小寫…

不過,有時我因為一些習慣造成全大寫,但在 windows 下 run codeigniter 時並不會有問題,而在 linux 下時就會出現找不到 controller 或 model 的警告,原因就是我用了全大寫的檔名。

舉個例子,我有個 model Abc ,但我建立檔名是 ABC.php ,這在 windows 下是不會出錯,但在 linux 下, codeigniter 就會提示說找不到 model Abc …

然後原本就直接重新命名該檔名就好,直接重新命名不會產生 git status 的異動,也就是說,直接改檔名只有用在我現在在操作的電腦中,但在 git cache 中的 ABC.php 還是叫 ABC.php (可以用 git ls-files 看),要修改 git cache 的還是得用 git 提供的方式。