如何使用git
本文不是谈论git具体命令的技术文章。
原文地址:http://blog.csdn.net/ffb/article/details/11206067
我之前发了一条关于git中如何处理中文文件名的微博,引发了一些质疑,
原文地址:http://weibo.com/1662047260/A1FVmlHPf
主要的质疑点在于为什么要用git管理中文文件,比如如下两位:
我想这些质疑的可能主要由以下两个误区引起:
1.可能很多人把git当作github的客户端了,以为git管理的文件只能提交到github或者其他的git网站上。
2.认为git只能管理代码
由于git的仓库数据是分布式存储的,具有脱离服务器依然全功能可用、历史可查的特性,所以对于如何使用git的问题,我们完全可以发挥一下想象力,让git不光可以管理代码,还可以管理我们的其他文件,让所有的文档、资料甚至照片都处于有历史可查、可分支编辑的状态。
所以,这个场景下,git可能会管理中文名称的文件就毫不奇怪了。我们可以把我们的工作文档(工作记录、设计文档、会议纪要什么的)、私人文档(收支记录、游记、blog备份什么的)全部使用git来进行本地管理。以设计文档为例,如果每次设计修改后的文档都提交到git,我们以后就可以通过git log来查看某个变动是在什么时候发生的。
示例图片:用git管理专利申请文档
然后,可以再扩展一下,最近360和百度正在进行网盘空间大战,最终的结果无非就是网盘的空间越来越大。
而网盘都会提供一个叫“同步盘”的功能,就是可以由网盘的客户端自动把本地的某个目录作为同步盘,其中的所有文件和修改会自动上传到网盘中。而国内的网盘基本都是不提供历史版本记录功能的(国外的如box.com提供,但是也需要付费)。所以说,对于文档这类很重要的文件,我们完全可以在同步盘根目录上git init一下,把所有的文档使用git来进行管理,这时,git仓库也会被同步盘自动同步到网盘中,我们的所有文件就都有历史可查了!
图示:以网盘进行文件夹同步
可以看出,网盘客户端会自动把.git文件夹上传,而.git文件夹就是git仓库。这样,当你使用其他机器进行同步的时候,就会拿下这个文档的全部历史修改信息。
所以,git不光可以用来管理代码,它的实际用途是可以方方面面的,配合带同步功能的网盘,比如UbuntuOne、Dropbox、115网盘等,就可以实现带历史记录的云同步功能,极大的方便的了我们的工作和生活。
如何使用git的更多相关文章
- Git 子模块 - submodule
有种情况我们经常会遇到:某个工作中的项目需要包含并使用另一个项目. 也许是第三方库,或者你 独立开发的,用于多个父项目的库. 现在问题来了:你想要把它们当做两个独立的项目,同时又想在 一个项目中使用另 ...
- Git 在团队中的最佳实践--如何正确使用Git Flow
我们已经从SVN 切换到Git很多年了,现在几乎所有的项目都在使用Github管理, 本篇文章讲一下为什么使用Git, 以及如何在团队中正确使用. Git的优点 Git的优点很多,但是这里只列出我认为 ...
- Git与Repo入门
版本控制 版本控制是什么已不用在说了,就是记录我们对文件.目录或工程等的修改历史,方便查看更改历史,备份以便恢复以前的版本,多人协作... 一.原始版本控制 最原始的版本控制是纯手工的版本控制:修改文 ...
- Git Bash的一些命令和配置
查看git版本号: git --version 如果是第一次使用Git,你需要设置署名和邮箱: $ git config --global user.name "用户名" $ gi ...
- 在Ubuntu 16.10 安装 git 并上传代码至 git.oschina.net
1. 注册一个账号和创建项目 先在git.oschina.net上注册一个账号和新建一个project ,如project name 是"myTest". 2.安装git sudo ...
- 史上最详细git教程
题外话 虽然这个标题很惊悚,不过还是把你骗进来了,哈哈-各位看官不要着急,耐心往下看 Git是什么 Git是目前世界上最先进的分布式版本控制系统. SVN与Git的最主要的区别 SVN是集中式版本控制 ...
- [版本控制之道] Git 常用的命令总结(欢迎收藏备用)
坚持每天学习,坚持每天复习,技术永远学不完,自己永远要前进 总结日常开发生产中常用的Git版本控制命令 ------------------------------main-------------- ...
- 【解决方案】Myeclipse 10 安装 GIT 插件 集成 步骤 图解
工程开发中,往往要使用到集成GIT ,那么下面说说插件安装步骤 PS:以Myeclipse 10 为例,讲解集成安装步骤. ----------------------main------------ ...
- git 命令
切换仓库地址: git remote set-url origin xxx.git切换分支:git checkout name撤销修改:git checkout -- file删除文件:git rm ...
- git亲测命令
一.Git新建本地分支与远程分支关联问题 git checkout -b branch_name origin/branch_name 或者 git branch --set-upstream bra ...
随机推荐
- Hibernate 3中如何获得库表所有字段的名称
15问:Hibernate 3中如何获得库表所有字段的名称 答:可以使用以下的程序获得. Configuration conf = new Configuration(); conf.configur ...
- stack around the variable “ ” was corrupted
用scanf格式控制不当经常发生此错误. 如 short int a=10; scanf("%d",&a); 应该是%hd; 一般是越界引起的. 参看:http://bl ...
- RAID级别与规范
1.RAID 0 RAID 0是最早出现的RAID模式,即Data Stripping数据分条技术.RAID 0是组建磁盘阵列中最简单的一种形式,只需要2块以上的硬盘即可,成本低,可以提高整个磁盘的性 ...
- GDSOI2015 task2 覆盖半径
题目大意 一个\(n\times m\)的矩阵中有\(p\)个已经确定圆心的圆,并且每个格子有一定的分数,如果一个格子被任意一个或以上的圆覆盖,那么就可以得到这个格子的分数.现在求最小的半径,使得得分 ...
- 初探 插头DP
因为这题,气得我火冒三丈! 这数据是不是有问题啊!我用cin代替scanf后居然就AC了(本来一直卡在Test 18)!导致我调(对)试(排)了一个小时!! UPD:后来细细想想,会不会是因为scan ...
- J2EE基础篇——十三个规范
背景: 1.企业级应用框架的需求,在很多企业级应用中.比如数据库连接.邮件服务.事务处理等都是一些通用企业需求模块,这些模块假设每次在开发中都由开发者来完毕的话,将会造成开发周期长和代码可靠性差等问题 ...
- soundPool播放短、频、快的声音
package com.example.soundpool; import android.media.AudioManager; import android.media.SoundPool; im ...
- 使用css3写一朵云
- TPersistent的三个用途(读写DFM文件,Assign,RTTI),最主要还是第三个用途
不是什么类对象都需要RTTI,如果把它放在TObject,除了增加可执行文件的大小以及运行内存空间以外,没什么好处.
- 《火球——UML大战需求分析》(第1章 大话UML)——1.5 小结和练习
说明: <火球——UML大战需求分析>是我撰写的一本关于需求分析及UML方面的书,我将会在CSDN上为大家分享前面几章的内容,总字数在几万以上,图片有数十张.欢迎你按文章的序号顺序阅读,谢 ...