我们来举个例子。比如说你要写个商业策划书经过几天熬夜总算在2012-01-01写了一个初稿 proposal.doc。又经过两天的奋战你对之前的文档做了更深入的细化于是把之前的文件改名成了 proposal-2012-01-01.doc 作为备份。后来经过你和老板的激烈讨论并对文档反复修改终于在2012-01-09把第7版交给了老板算是完成了这份工作。回头看看当前的工作文件夹呵充满了名为 proposal-2012-01-01.docproposal-2012-01-03.doc。。。proposal-2012-01-09.doc 的文件。你不舍得删了它们顺手打个包压缩下扔进了自己的归档文件夹里也许永远都不会看它们了即使半年后想要来参考一下你也顶多是看看最新版的文件那些历史版本文件之间的关系恐怕永远也记不起来了。这是个很普遍的例子任何用电脑写过报告的人都会有这种经历。保存某个修改的文件时我们习惯于给较早的版本加个日期或者其他你感兴趣的方式做为备份生怕自己对稍后的某个修改不满意好恢复回去如果有强迫症估计你恨不得写一行备份一次——如果你学会了git恐怕这种强迫症会更加强烈因为用起来实在是太爽了。这就是一个非常朴素的版本控制系统你人为的给某个文件加上时间的标记把编辑的某些里程碑保存下来方便自己将来查阅、备份、恢复。既然我们有这么普遍而强烈的需求版本控制系统软件自然备受关注并不断更新升级。从 CVS 到 SVN 再到 GIT版本控制系统的管理模式从集中向分布演变。git的分布式特点就在于虽然我们可以有一个最核心的中央服务器来管理所有的文件你可以在本地生成一个局部的版本控制系统你的版本历史都可以先在本地保存直到获得一个满意的版本后再提交到服务器中。对于个人来说甚至完全不用理会中央服务器是否存在自己玩单机版的版本控制就足够了——本文的目的也就在于教会你怎样玩转单机版git。准备工欲善其事必先利其器。我们需要的软件很少只有两个TortoiseGithttp://code.google.com/p/tortoisegit/downloads/list和msysgithttp://code.google.com/p/msysgit/downloads/list前者是与 windows 的资源管理器linux和mac用户借过一下整合的git管理软件后者是git的功能软件。安装好TortoiseGit之后重启电脑鼠标右键里就会有这几个新的程序git的相关功能都可以从这里访问到连开始菜单都不要是不是很方便svn是另一个软件请无视请选择setting我们需要配置一下git的路径。在红框里我们要设置一下 git 的路径就是你安装 msysgit的bin文件夹比如说我的是 F:\software\develop\svn\git\PortableGit-1.7.8-preview20111206\bin里面会有 git.exe 这个程序。如此我们的环境就配置好了是不是非常简单实战基础知识接下来我们要具体看看git如何成为我们备份的利刃。先随便创建一个空白文件夹作为我们实践的平台。进入这个文件夹鼠标右键选择 “ Git Create repository here...弹出的对话框不用管那个复选框不要选ok即可。这个文件夹里就会出现一个隐藏的 .git 文件夹。如何显示隐藏文件夹这个请放狗去搜吧。ok一个版本库我们就创建出来了。走到上级目录你也许会看到文件加上出现了一个绿色的对勾符号表示这个文件夹已经受到了版本的控制。这个图标的出现不一定实时也许你要多刷新几次甚至重启电脑才行常见的图标有这个文件夹很干净是最新版本文件这个文件夹发生了修改需要提交这个文件夹要添加进版本库这个文件夹没有在版本库中需要添加进来转为上一个图标的状态或者忽略转为下一个图标的状态这个文件夹被忽略不受版本控制这个文件(夹)里的内容发生冲突这是最危险的情况但是对于个人用户来说几乎不会出现出现的情况是两个人同时对一个文件做修改后提交的人在更新时无法与前者完美融合时这个不需要深入理解通过这么直观的图标暂时你就能对自己的工作文件夹了如指掌那些文件做了修改当前工作是否需要提交都一目了然。版本分支在进行更进一步操作时有必要了解一下版本分支Branch的概念。版本分支意味着你从当前的项目中弄出来一个拷贝按照自己的想法胡乱修改你之后的所有版本历史都保存在这个分支里。如果你对这个分支很满意就可以把这个分支合并到原来的主分支里Merge甚至直接让这个分支作为主分支或者你感觉到越改越糟糕就直接回到主分支工作仿佛什么也没有发生一样当然这个新的分支要通过某些复杂的操作来删除你也可以留着作为自己惨痛教训的警钟。也就是说分支为你提供了一个尝试某些新道路的空间。作为个人用户来说有一个主分支和一个工作分支就够了。主分支作为基准一直不变工作都在工作分支上进行这样主分支与工作分支之间的变化就记录了你的所有工作历史。我们来具体实践一下。首先git有个不太人性化的“bug“不能够添加空白文件夹因此我们需要先添加一个空白文件比如 test.txt然后在文件夹上右键选择 “Git commit选择添加的那个文件写点messagegit每次提交必须写上一些文字说明这次更新的内容从而让你知道每个版本有什么变化提交即可在刚才的工作文件加上右键选择 “Create Branch“随便取名比如 develop确定即可。依然右键选择 “Show log“出现如下对话框可以看到我们已经有了一个版本历史它详细记录了我们的改变。上面有两个颜色标签红色的master和绿色的develop这个代表了我们的分支。master是我们第一次提交时系统自动生成的分支develop是我们手动创建的。红色的代表当前的工作分支绿色的代表存在的历史分支。我们需要把工作分支切换到 develop。
玩转git,让git成为个人工作备份利器(即使是电脑小白也推荐学习)
发布时间:2026/7/3 23:36:07
我们来举个例子。比如说你要写个商业策划书经过几天熬夜总算在2012-01-01写了一个初稿 proposal.doc。又经过两天的奋战你对之前的文档做了更深入的细化于是把之前的文件改名成了 proposal-2012-01-01.doc 作为备份。后来经过你和老板的激烈讨论并对文档反复修改终于在2012-01-09把第7版交给了老板算是完成了这份工作。回头看看当前的工作文件夹呵充满了名为 proposal-2012-01-01.docproposal-2012-01-03.doc。。。proposal-2012-01-09.doc 的文件。你不舍得删了它们顺手打个包压缩下扔进了自己的归档文件夹里也许永远都不会看它们了即使半年后想要来参考一下你也顶多是看看最新版的文件那些历史版本文件之间的关系恐怕永远也记不起来了。这是个很普遍的例子任何用电脑写过报告的人都会有这种经历。保存某个修改的文件时我们习惯于给较早的版本加个日期或者其他你感兴趣的方式做为备份生怕自己对稍后的某个修改不满意好恢复回去如果有强迫症估计你恨不得写一行备份一次——如果你学会了git恐怕这种强迫症会更加强烈因为用起来实在是太爽了。这就是一个非常朴素的版本控制系统你人为的给某个文件加上时间的标记把编辑的某些里程碑保存下来方便自己将来查阅、备份、恢复。既然我们有这么普遍而强烈的需求版本控制系统软件自然备受关注并不断更新升级。从 CVS 到 SVN 再到 GIT版本控制系统的管理模式从集中向分布演变。git的分布式特点就在于虽然我们可以有一个最核心的中央服务器来管理所有的文件你可以在本地生成一个局部的版本控制系统你的版本历史都可以先在本地保存直到获得一个满意的版本后再提交到服务器中。对于个人来说甚至完全不用理会中央服务器是否存在自己玩单机版的版本控制就足够了——本文的目的也就在于教会你怎样玩转单机版git。准备工欲善其事必先利其器。我们需要的软件很少只有两个TortoiseGithttp://code.google.com/p/tortoisegit/downloads/list和msysgithttp://code.google.com/p/msysgit/downloads/list前者是与 windows 的资源管理器linux和mac用户借过一下整合的git管理软件后者是git的功能软件。安装好TortoiseGit之后重启电脑鼠标右键里就会有这几个新的程序git的相关功能都可以从这里访问到连开始菜单都不要是不是很方便svn是另一个软件请无视请选择setting我们需要配置一下git的路径。在红框里我们要设置一下 git 的路径就是你安装 msysgit的bin文件夹比如说我的是 F:\software\develop\svn\git\PortableGit-1.7.8-preview20111206\bin里面会有 git.exe 这个程序。如此我们的环境就配置好了是不是非常简单实战基础知识接下来我们要具体看看git如何成为我们备份的利刃。先随便创建一个空白文件夹作为我们实践的平台。进入这个文件夹鼠标右键选择 “ Git Create repository here...弹出的对话框不用管那个复选框不要选ok即可。这个文件夹里就会出现一个隐藏的 .git 文件夹。如何显示隐藏文件夹这个请放狗去搜吧。ok一个版本库我们就创建出来了。走到上级目录你也许会看到文件加上出现了一个绿色的对勾符号表示这个文件夹已经受到了版本的控制。这个图标的出现不一定实时也许你要多刷新几次甚至重启电脑才行常见的图标有这个文件夹很干净是最新版本文件这个文件夹发生了修改需要提交这个文件夹要添加进版本库这个文件夹没有在版本库中需要添加进来转为上一个图标的状态或者忽略转为下一个图标的状态这个文件夹被忽略不受版本控制这个文件(夹)里的内容发生冲突这是最危险的情况但是对于个人用户来说几乎不会出现出现的情况是两个人同时对一个文件做修改后提交的人在更新时无法与前者完美融合时这个不需要深入理解通过这么直观的图标暂时你就能对自己的工作文件夹了如指掌那些文件做了修改当前工作是否需要提交都一目了然。版本分支在进行更进一步操作时有必要了解一下版本分支Branch的概念。版本分支意味着你从当前的项目中弄出来一个拷贝按照自己的想法胡乱修改你之后的所有版本历史都保存在这个分支里。如果你对这个分支很满意就可以把这个分支合并到原来的主分支里Merge甚至直接让这个分支作为主分支或者你感觉到越改越糟糕就直接回到主分支工作仿佛什么也没有发生一样当然这个新的分支要通过某些复杂的操作来删除你也可以留着作为自己惨痛教训的警钟。也就是说分支为你提供了一个尝试某些新道路的空间。作为个人用户来说有一个主分支和一个工作分支就够了。主分支作为基准一直不变工作都在工作分支上进行这样主分支与工作分支之间的变化就记录了你的所有工作历史。我们来具体实践一下。首先git有个不太人性化的“bug“不能够添加空白文件夹因此我们需要先添加一个空白文件比如 test.txt然后在文件夹上右键选择 “Git commit选择添加的那个文件写点messagegit每次提交必须写上一些文字说明这次更新的内容从而让你知道每个版本有什么变化提交即可在刚才的工作文件加上右键选择 “Create Branch“随便取名比如 develop确定即可。依然右键选择 “Show log“出现如下对话框可以看到我们已经有了一个版本历史它详细记录了我们的改变。上面有两个颜色标签红色的master和绿色的develop这个代表了我们的分支。master是我们第一次提交时系统自动生成的分支develop是我们手动创建的。红色的代表当前的工作分支绿色的代表存在的历史分支。我们需要把工作分支切换到 develop。