Git提交文件部分內容

admin發表於2018-07-26

假設在實際應用中遇到類似情形,function.js檔案中有一個函式功能正在開發。

現在急需提交function.js,以便使用檔案中的其他已經開發完畢的新功能。

Git可以幫我們實現只提交function.js檔案中已經開發完畢功能的需求。

假設functin.js原有程式碼內容如下:

[JavaScript] 純文字檢視 複製程式碼
eq: function( i ) {
  i = +i;
  return i === -1 ?
  this.slice( i ) :
  this.slice( i, i + 1 );
}

當然實際開發中,很少有一個檔案程式碼量會這麼小,為了演示方便。

下面為function.js新增兩個方法:

[JavaScript] 純文字檢視 複製程式碼
each: function( callback, args ) {
    return jQuery.each( this, callback, args );
},

ready: function( fn ) {
    // Add the callback
    jQuery.ready.promise().done( fn );

    return this;
}

現在ready方法已經開發完畢,但是each方法尚未完成,下面只暫時提交一部分。

程式碼例項如下:

[JavaScript] 純文字檢視 複製程式碼
$ git add -p function.js

程式碼執行效果截圖如下:

a:3:{s:3:\"pic\";s:43:\"portal/201807/26/000755fi3pl83i8iptf4ia.png\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

git add命令加上引數-p會詢問是否將當前區塊加入暫存區,選擇y表示全部加入暫存區,選擇n表示完全不加入暫存區,由於這裡我們只想將部分內容加入暫存區,所以選擇e(edit縮寫),然後彈出VIM編輯器。

關於VIM編輯器的基本用法參閱Git Vim編輯器輸入內容、儲存和退出操作一章節。

然後刪除each方法相關內容,最後將VIM存檔退出,這樣就會把剩餘部分內容提交到暫存區。

但是工作區的function.js並沒有發生任何改變。

相關文章