把Git Repository建到U盘上去

Git很火。缘由有三: node

  1. 它是大神Linus Torvalds的做品,自然地具有神二代的气质和品质;
  2. 促进了生产力的发展,Git的分布式版本控制理念,并不是独创,但很是适合开源社区的协做方式(不存在master-slave的关系)
  3. GitHub

GitHub很好,号称代码界的facebook. git

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服务的网站。 安全

本文试图讲解如何在U盘上建立git repository(使U盘成为你的私有代码云);以及如何在不一样客户端进行同步做业。把git repository建在USB盘上能知足多种应用场景,特别是: bash

  1. 注重私密性(GitHub上普通帐号不能建立私有repository)
  2. 网速很慢,甚至断网的时候须要同步

但不适合须要强collaborate的项目。 分布式

前提条件

先把git给装好了…而后…咱们有了两台git ready的电脑,和一个U盘。 svn

开始,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”加入索引 ui

$ git add .

step 1.5
提交到repository spa

$ git commit -m "initialized."

2, 搞到U盘上去

step 2.1
插上U盘,查看U盘挂载路径

$ mount


个人路径是”/Volumes/KINGSTON”

step 2.2
在U盘上建立一个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
把U盘插到这个电脑上,查看当前挂载的路径,添加U盘做为当前repository的remote repository

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

step 3.3
把U盘上的内容拉下来

$ 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里面

好了,成功。如今U盘成为了你的GitHub,你和你的代码之间,再没有阻隔。

固然,最后,须要按期给U盘作一个备份。技术发展到今天,数据安全靠天吃饭的日子已经一去不复返了,没有什么U盘,硬盘是靠得住的。

原文连接: 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/

相关文章
相关标签/搜索