iT邦幫忙

DAY 8
6

版本控管觀念與技巧使用Subversion為例系列 第 8

[鐵人賽] TortoiseSVN 使用,將檔案傳到 Repository(Commit)

  • 分享至 

  • xImage
  •  

接續者上一篇,在我們將檔案庫(Repository)的檔案複製一份到工作目錄後,再來就會去修改這工作目錄中的檔案,在 Subversion 內檔案異動後必須要送交(Commit)其他成員以及檔案庫(Repository)才會知道這次的異動,本篇就要介紹如何送交(Commit)檔案。
增加檔案
增加檔案的一開始並無任何差異,就新增一個檔案即可

這時候你可以看到新增出來的檔案並沒有任何的「圖示覆蓋」,因為現在這個檔案是沒有受到版控的,這時候執行送交(Commit)的動作可以看到下列視窗

1.標示了您這次的送交位置(往後你學會了分支(Branch)技巧後這提示就很重要)
2.可以查看以往的 Log 記錄,如果有需要就可以直接選擇上次的Log
3.這區塊是讓我們寫 Log 記錄的,寫 Log 是一件很重要的事情請嘗試寫看看
4.預設中新增的檔案並不會打勾,請自行勾選
5.因為尚未送交(Commit)因此是顯示沒有版本控制
6.按下ok就可以送交了

新增檔案還有另一種作法就是自己去執行 Add 的動作,作法如下

如果你有自行先執行過 Add 的動作那在 送交(Commit)的時候狀態就會變成新增,其他部分並沒有太大的不同,因此 demo 本身是不常使用這種方式來新增檔案。

當送交(Commit)完畢後就可以看到覆蓋圖示出現了

修改檔案

已經屬於版控的檔案內容發生異動時「覆蓋圖示」就會出現變化,現在就把剛剛加入版控的文字檔打開輸入幾個字後儲存。

圖示就起了變化,變化的速度會依據您所調整的 Status cache 不同而有所不同【如何優化調整 TortoiseSVN 加快執行效能 | demo小鋪

當你看到不管是資料夾或是檔案擁有這種圖示就表示此工作複本中有檔案尚未送交(Commit),再次重申在版控的世界中沒有送交的變動其他使用者或是檔案庫(Repository)是不會知道的!所以立刻來送交(Commit)吧。 對者檔案按下「滑鼠右鍵」→「SVN Commit」


記得要輸入 Log
按下OK即可完成送交(Commit)


到這裡基本的 送交(Commit)就介紹完畢,下一篇將介紹送交(Commit) 時需要注意的事項

本文同步發表於 [鐵人賽] TortoiseSVN 使用,將檔案傳到 Repository(Commit) | demo小鋪


上一篇
TortoiseSVN 使用,建立一個 Working 目錄(Checkout)
下一篇
[鐵人賽] 版本控管 Commit 需要注意的事項以 dotNet 與 SVN 為例
系列文
版本控管觀念與技巧使用Subversion為例30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
0
timloo
iT邦研究生 2 級 ‧ 2012-02-03 10:08:04

在TortoiseSVN 1.7.4上,一個新檔案(沒做過版控),按右鍵,選單上看不到commit,
只看得到add。add 後,commit才會出現,

感覺好像要控制流程。選單的commit,出現在add之後。

demoshop iT邦新手 4 級 ‧ 2012-02-07 17:28:57 檢舉

依據版控的觀念,檔案還不存在於版控中是不能被commit的,解決方案就是你所說的對該檔案 add 或是從資料夾層 commit 你會看到很多沒有納入版控的檔案,把它門打勾,就可以跳過 add 這段了

0
timloo
iT邦研究生 2 級 ‧ 2012-02-07 16:50:49

測了一下鎖定(LOCK)機制,

覺得還蠻直覺的。


1_getlock_描述一下理由

2_提交到鎖定的檔案會失敗

3_不能鎖定別人已經先鎖定的檔案

4_鎖定失敗_且秀出目前誰鎖定

5_解開鎖定

以小組開發人員,像我的組,就兩個人,不是你蓋掉我的code,就是我蓋掉你的code,
所以只要一個檔案,同時只允許一個人修改,應該會相當大量的減少衝突的發生,
不用花額外的時間去解決衝突。

0
timloo
iT邦研究生 2 級 ‧ 2012-02-07 16:59:41

小弟有分享get lock /release lock 在你
it邦幫忙上的貼文
http://ithelp.ithome.com.tw/question/10077637?tab=opinion#bottom

在小團隊5人以下,覺得lock機制,還蠻不會用的,修改前,lock,修改後,commit時,不要選keep locks,commit時會自動幫你解lock,這段還蠻親和的,少做一個release lock的按鍵。

大家的sop的第一動作,就是get lock,才改,多這個動作,少了發生 衝突的機會。版本間會比較有連續性。

我要留言

立即登入留言