如何使用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 ...
随机推荐
- WCF技术剖析之二十五: 元数据(Metadata)架构体系全景展现[元数据描述篇]
原文:WCF技术剖析之二十五: 元数据(Metadata)架构体系全景展现[元数据描述篇] 在[WS标准篇]中我花了很大的篇幅介绍了WS-MEX以及与它相关的WS规范:WS-Policy.WS-Tra ...
- JRE 和 JDK 的区别是什么?
JRE: Java Runtime Environment JDK:Java Development Kit JRE顾名思义是java运行时环境,包含了java虚拟机,java基础类库.是使用java ...
- 基于visual Studio2013解决C语言竞赛题之0613递归求积
题目
- 使用ACE获取主机的IP地址
使用ACE获取主机的IP地址,不知道为什么会有127.0.0.1? #include "stdafx.h" #include "ace\OS.h" #inclu ...
- Flex中怎么给表格中的滚动栏定位
1.问题背景 假设表格中的字段过多,会出现滚动栏,在将滚动栏滚到一定的位置时,又一次刷新表格.滚动栏会回到原处,原来查看的字段还得继续滚动,才干查看到. 2.实现实例 <? xml versio ...
- bash on windows
bash on windows 今年微软Build 2016大会最让开发人员兴奋的消息之一,就是在Windows上可以原生运行Linux bash,对开发人员来说,这是一个喜闻乐见的消息. 1 安装 ...
- 基于visual Studio2013解决C语言竞赛题之1033数字交换
题目 解决代码及点评 /* 功能:将一个一维数组中的偶数依次交换.例如有8个元素, 若其中第1.4.5三元素是偶数时应按下图交换. 例子: a[]={2,3,1,6 ...
- Windows Azure入门教学系列 (二):部署第一个Web Role程序
本文是Windows Azure入门教学的第二篇文章. 在第一篇教学中,我们已经创建了第一个Web Role程序.在这篇教学中,我们将学习如何把该Web Role程序部署到云端. 注意:您需要购买Wi ...
- Qt Quick鼠标事件处理、键盘、计时器
在<Qt Quick 事件处理之信号与槽>中介绍了 QML 中怎样使用内建类型的信号以及怎样自己定义信号,这次我们来看看怎样处理鼠标.键盘.定时器等事件.这些时间在处理时,一般是通过信号来 ...
- EasyUI - 操作 Tree 控件
效果: HTML代码: 使用了模板页 <asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHo ...