如何使用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 ... 
随机推荐
- HDOJ 4007 Dave【最大覆盖集】
			Dave Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65768/65768 K (Java/Others)Total Submis ... 
- 【译】在Asp.Net中操作PDF – iTextSharp - 使用表格
			原文 [译]在Asp.Net中操作PDF – iTextSharp - 使用表格 使用Asp.Net生成PDF最常用的元素应该是表格,表格可以帮助比如订单或者发票类型的文档更加格式化和美观.本篇文章并 ... 
- 在JavaScript中也玩变量类型强行转换
			<script language="javascript"> var str = '100'; var num = Number(100); a ... 
- 盘点:#AzureChat - 虚拟机和自动伸缩
			感谢大家跟 Corey Sanders 和 Stephen Siciliano 一起参加本次 #AzureChat.我们很高兴能借这次在线讨论的机会,倾听各位社区成员对我们最受欢迎的两个主题的意见 - ... 
- cocos2d-x游戏开发系列教程-中国象棋06-游戏规则
			前情回顾 上一个博文我们提到象棋运动的函数dealWithChess,但是只是说该函数完成了棋子的选择和移动功能 其实在这个函数里,在移动棋子之前,是要对棋子的移动是否合法进行判断的,我们一起来看看如 ... 
- 集群安装配置Hadoop具体图解
			集群安装配置Hadoop 集群节点:node4.node5.node6.node7.node8. 详细架构: node4 Namenode,secondnamenode,jobtracker node ... 
- Perl 5 教程
			Perl 5 教程 http://www.cbi.pku.edu.cn/chinese/documents/perl/index.htm 
- Linux的inode的理解 [转]
			Linux的inode的理解 [转] 一.inode是什么? 理解inode,要从文件储存说起. 文件储存在硬盘上,硬盘的最小存储单位叫做"扇区"(Sector).每个扇区储存51 ... 
- NProxy——Mac和Linux平台下的Fiddler
			Fiddler 相信大家,尤其是前端工程师们都知道. 用它的文件替换功能,将线上的静态资源文件(JS.CSS.图片)替换为本地相应的文件,来调试线上(代码都被压缩过)UI的问题.的确是一神器.(相比, ... 
- HDU 4424 Conquer a New Region 最大生成树
			给你一颗树 每条边有一个权值 选择一个点为中心 定义S值为中心到其它n-1个点的路径上的最小边权 求全部点S值的和 从大到小排序 每次合并2棵树 设为A集合 B集合 设A集合的最大S值的和为sumA ... 
