把Git Repository建到隨身碟上去

來源:互聯網
上載者:User

標籤:大神   push   ready   workspace   電腦   code   本地   repos   tree   

Git很火。原因有三:

  1. 它是大神Linus Torvalds的作品,天然地具備神二代的氣質和品質;
  2. 促進了生產力的發展,Git的分布式版本控制理念,並非首創,但非常適合開源社區的協作方式(不存在master-slave的關係)
  3. GitHub

GitHub很好,號稱代碼界的facebook.

facebook,twitter,Microsoft,vmware,redhat,LinkedIn,Yahoo等公司都在GitHub上有建立數目不等的repositories。一些知名開源項目,例如jQuery, Ruby on Rails,node.js都把src code寄存於GitHub上。GitHub太成功了,以至於使很多人產生誤解,以為git就是GitHub,使用git就必須串連GitHub。事實上,GitHub只是一個提供git repository hosting服務的網站。

本文試圖講解如何在隨身碟上建立git repository(使隨身碟成為你的私人代碼雲);以及如何在不同用戶端進行同步作業。把git repository建在USB盤上能滿足多種應用情境,特別是:

  1. 注重私密性(GitHub上普通帳號不能建立私人repository)
  2. 網速很慢,甚至斷網的時候需要同步

但不適合需要強collaborate的項目。

前提條件

先把git給裝好了…然後…我們有了兩台git ready的電腦,和一個隨身碟。

開始,1,初始化本地repository

假設有一個存在的項目,需要由git接管版本控制,那麼來到這個%projct_home%目錄(例如我的git_sandbox)下

step 1.1

初始化

$ git init git_sandbox

step 1.2

建立.gitignore檔案(在%project_home%下,只對這個project有效),排除路徑下不需用被提交到repository中的檔案(例如.svn,.class, Thumbs.db…)

step 1.3

查看當前檔案狀態,可以看到有一堆”untracked files”

$ git status

step 1.4

把所有”untracked files”加入索引

$ git add .

step 1.5

提交到repository

$ git commit -m "initialized."

2, 搞到隨身碟上去

step 2.1

插上隨身碟,查看隨身碟掛載路徑

$ mount

 

我的路徑是”/Volumes/KINGSTON”

step 2.2

在隨身碟上建立一個repository,

$ mkdir /Volumes/KINGSTON/workspace/usbGitSpace/gitusb_sandbox 

$ cd /Volumes/KINGSTON/workspace/usbGitSpace/gitusb_sandbox 

$ git init --bare

使用–bare選項建立的repository被稱作bare repository,它不會包含working目錄(只包含.git目錄下的內容),所以不適合在上面改code。bare repository主要的作用就是被push和pull。根據GitFaq的說法:

A quick rule of thumb is to never push into a repository that has a work tree attached to it, until you know what you are doing.

step 2.3

回到本地%project_home%,把初始化後的usb repository添加為remote repository

$ git remote add usb /Volumes/KINGSTON/workspace/usbGitSpace/gitusb_sandbox

將本地的repository push到usb上

$ git push usb master

3, 同步到另一台電腦

step 3.1

在另一台電腦上先建立一個本地repository

$ cd ~/my_gitspace/sandbox_win 

$ git init

step 3.2

把隨身碟插到這個電腦上,查看當前掛載的路徑,添加隨身碟作為當前repository的remote repository

$ git remote add usb /cygdrive/f/workspace/usbGitSpace/gitusb_sandbox

step 3.3

把隨身碟上的內容拉下來

$ git pull usb master

好了,代碼同步到另一台機器上了

4, 測試一下

step 4.1

改動一下檔案,比如README.txt

step 4.2

$ git add README.txt 

$ git commit -m "update from another laptop" 

$ git push usb master

step 4.3

插回原來的laptop

$ git pull usb master

step 4.4

查看提交曆史

$ git log

發現兩台電腦上提交的記錄都在log裡面

好了,成功。現在隨身碟成為了你的GitHub,你和你的代碼之間,再沒有阻隔。

當然,最後,需要定期給隨身碟做一個備份。技術發展到今天,資料安全靠天吃飯的日子已經一去不複返了,沒有什麼隨身碟,硬碟是靠得住的。

原文連結: http://wuminqi.com/blog/2012/01/08/%E6%8A%8Agit-repository%E5%BB%BA%E5%88%B0u%E7%9B%98%E4%B8%8A%E5%8E%BB/

把Git Repository建到隨身碟上去

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.