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

    把Git Repository建到U盘上去

    转 把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/

    © chenyilong. Powered by Postach.io


    作者:
    出处:http://www.cnblogs.com/ChenYilong/(点击RSS订阅)
    本文版权归作者和博客园共有,欢迎转载,
    但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

  • 相关阅读:
    darknet yolo 使用gpu
    Application of Opposition-Based Reinforcement Learning in Image Segmentation
    图像质量评估 (IQA) 论文笔记: Deep Neural Networks for No-Reference and Full-Reference Image Quality Assessment
    论文笔记:DEEP LEARNING FOR MONAURAL SPEECH SEPARATION
    python函数中的参数*args和**kwargs的含义和用法
    论文笔记:DualCNN(结构和细节分别训练)
    pytorch中为Module和Tensor指定GPU
    Pytorch中的torch.gather函数的含义
    Django(其二)
    第六章Django
  • 原文地址:https://www.cnblogs.com/ChenYilong/p/3587216.html
Copyright © 2011-2022 走看看