本文不是谈论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的更多相关文章

  1. Git 子模块 - submodule

    有种情况我们经常会遇到:某个工作中的项目需要包含并使用另一个项目. 也许是第三方库,或者你 独立开发的,用于多个父项目的库. 现在问题来了:你想要把它们当做两个独立的项目,同时又想在 一个项目中使用另 ...

  2. Git 在团队中的最佳实践--如何正确使用Git Flow

    我们已经从SVN 切换到Git很多年了,现在几乎所有的项目都在使用Github管理, 本篇文章讲一下为什么使用Git, 以及如何在团队中正确使用. Git的优点 Git的优点很多,但是这里只列出我认为 ...

  3. Git与Repo入门

    版本控制 版本控制是什么已不用在说了,就是记录我们对文件.目录或工程等的修改历史,方便查看更改历史,备份以便恢复以前的版本,多人协作... 一.原始版本控制 最原始的版本控制是纯手工的版本控制:修改文 ...

  4. Git Bash的一些命令和配置

    查看git版本号: git --version 如果是第一次使用Git,你需要设置署名和邮箱: $ git config --global user.name "用户名" $ gi ...

  5. 在Ubuntu 16.10 安装 git 并上传代码至 git.oschina.net

    1. 注册一个账号和创建项目 先在git.oschina.net上注册一个账号和新建一个project ,如project name 是"myTest". 2.安装git sudo ...

  6. 史上最详细git教程

    题外话 虽然这个标题很惊悚,不过还是把你骗进来了,哈哈-各位看官不要着急,耐心往下看 Git是什么 Git是目前世界上最先进的分布式版本控制系统. SVN与Git的最主要的区别 SVN是集中式版本控制 ...

  7. [版本控制之道] Git 常用的命令总结(欢迎收藏备用)

    坚持每天学习,坚持每天复习,技术永远学不完,自己永远要前进 总结日常开发生产中常用的Git版本控制命令 ------------------------------main-------------- ...

  8. 【解决方案】Myeclipse 10 安装 GIT 插件 集成 步骤 图解

    工程开发中,往往要使用到集成GIT ,那么下面说说插件安装步骤 PS:以Myeclipse 10 为例,讲解集成安装步骤. ----------------------main------------ ...

  9. git 命令

    切换仓库地址: git remote set-url origin xxx.git切换分支:git checkout name撤销修改:git checkout -- file删除文件:git rm  ...

  10. git亲测命令

    一.Git新建本地分支与远程分支关联问题 git checkout -b branch_name origin/branch_name 或者 git branch --set-upstream bra ...

随机推荐

  1. haroxy hdr

    ACL derivatives :ACL的衍生物 hdr([<name>[,<occ>]]) : exact string match 字符串精确匹配 hdr_beg([< ...

  2. Oracle单表的简单查询

    Oracle单表的简单查询 查看表结构 desc emp; 查询所有列 Select * from emp; 查找所以部门编号(查指定的列) select deptnofrom emp; 查找编号不同 ...

  3. Oracle查看表空间使用情况

     查看表空间使用情况 select upper(f.tablespace_name) "表空间名",        d.tot_grootte_mb "表空间大小(m ...

  4. Android TextView自己主动换行文字排版參差不齐的原因

    今天项目没什么进展,公司后台出问题了.看了下刚刚学习Android时的笔记,发现TextView会自己主动换行,并且排版文字參差不齐.查了下资料,总结原因例如以下: 1.半角字符与全角字符混乱所致:这 ...

  5. .net版Git Server --- bonobo

    官网地址: https://bonobogitserver.com/ Demo: http://demo.bonobogitserver.com/Home/LogOn  登入admin:admin C ...

  6. Node.js and Forever “exited with code: 0”

    CentOs 6.5 using root acount, I have a working Node.js Express app: root@vps [/home/test/node]# npm ...

  7. 熟练掌握doc命令下的文件操作

    这里以介绍操作php脚本为例

  8. mongdb修改密码

    正确做法,利用db.changeUserPassword > db.changeUserPassword('tank2','test');

  9. 基于visual Studio2013解决C语言竞赛题之1084完全平方数

        题目 解决代码及点评 /************************************************************************/ /* ...

  10. jsoncpp 不能处理long类型数据

    jsoncpp,是一个c++的解析和生成json的开源工具.假设你的c++程序须要解析或生成json,它会使这个过程变得非常easy! 可是,今天在用jsoncpp进行生成json的时候报了错误,非常 ...