《Git权威指南》个人读书笔记,仅做学习记录之用
第2章:爱上Git的理由
[TOC]
2.1 每日工作备份
1、
# 如果创建了新文件,可以执行 git add -i命令
$ git add -u
$ git commit
$ git push
2.2 异地协同工作
1、mirror与home是两个版本库,master是分支名
$ git pull mirror master
$ git push home
2.3 现场版本控制
1.SVN的解决方案
- 略
2.Git的解决方案
1、创建现场版本库
$ git init
2、添加文件并提交
$ git add -A
$ git commit -m "initialized"
3、为初始提交建立一个里程碑
$ git tag v1
4、开始在工作区中工作——修改文件并提交
$ git commit -a
5、当对修改结果满意并想将工作成果保存带走时,可以通过下面的命令将从v1开始的历次提交逐一导出为补丁文件
$ git format-patch v1..HEAD
6、通过邮件发送补丁文件
$ git send-email *.patch
2.4 避免引入辅助目录
1、Git并不会在子目录下引入辅助目录或文件
2.5 重写提交说明
1.SVN的解决方案
- 略
2.Git的解决方案
1、
$ git commit --amend
2、若要修改某个历史版本的提交说明,则要用到变基命令。例如要修改<commit-id>所标识的提交说明
$ git rebase -i<commit-id>^
2.6 想吃后悔药
1.SVN的解决方案
- 略
2.Git的解决方案
1、例如,误提交的是:test.txt
$ git rm --cached test.txt
$ git commit --amend # 非历史版本
$ git rebase -i<commit-id>^ # 历史版本
2.7 更好用的提交列表
1.SVN的解决方案
- 略
2.Git的解决方案
1、Git 通过提交暂存区实现对提交内容的定制
2、执行 git add 命令将修改内容加入到暂存区
# 将所有修改过的文件加入暂存区
$ git add -u
# 将本地删除文件和新增文件都登记到暂存区
$ git add -A
# 对一个文件内的修改进行有选择性的添加
$ git add -p
3、执行 git commit 命令提交,无需设定变更列表,直接将登记在暂存区中的内容提交
4、git 支持撤销提交且不限次数
2.8 更好的差异比较
1、查看差异
$ git diff
2、添加到暂存区中的文件所作出的修改
$ git diff --cached
2.9 工作进度保存
1.SVN的解决方案
- 略
2.Git的解决方案
1、保存工作进度
$ git stash
2、恢复之前保存的工作进度
$ git stash pop
2.10 代理SVN提交实现移动式办公
使用Git来操作SVN版本控制服务器的一般步骤:
1、访问SVN服务器,将SVN版本库克隆为一个本地的库
$ git svn clone <svn_repos_url>
2、使用Git命令操作本地克隆的版本库
3、访问SVN服务器,获取最新提交,执行变基操作,将本地推送到服务器
$ git svn fetch
$ git svn rebase
$ git svn dcommits
2.11 无处不在的分页器
- 略
2.12 快
分布式版本控制系统,几乎所有操作在本地进行,









网友评论