zoukankan      html  css  js  c++  java
  • 【转】把Git Repository建到U盘上去

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

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

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

    但不适合需要强collaborate的项目。

    前提条件

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

    开始

    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"

    step 1.4

    把所有"untracked files"加入索引

    step 1.5

    提交到repository
    
    $ git commit -m "initialized."
     2, 搞到U盘上去

    step 2.1

    插上U盘,查看U盘挂载路径
    
    我的路径是"/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

    查看提交历史

    发现两台电脑上提交的记录都在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/

  • 相关阅读:
    NTP on FreeBSD 12.1
    Set proxy server on FreeBSD 12.1
    win32 disk imager使用后u盘容量恢复
    How to install Google Chrome Browser on Kali Linux
    Set NTP Service and timezone on Kali Linux
    Set static IP address and DNS on FreeBSD
    github博客标题显示不了可能是标题包含 特殊符号比如 : (冒号)
    server certificate verification failed. CAfile: none CRLfile: none
    删除文件和目录(彻底的)
    如何在Curl中使用Socks5代理
  • 原文地址:https://www.cnblogs.com/Caersi/p/6367271.html
Copyright © 2011-2022 走看看