版本控制
版本控制是指对软件开发过程中各种程序代码、说明文档等文件的变更进行管理,它将追踪文件变化,记录文件的变更时间、变更内容、甚至变更执行人进行记录,同时对每一个阶段性变更(不仅仅只是一个文件的变化)添加版本编号,方便将来进行查阅特定阶段的变更信息,甚至是回滚
人工版本控制器
通过人工的复制行为来保存项目的不同阶段的内容,添加适当的一些描述文字已加以区分
缺点:繁琐,容易出错;会产生大量重复(冗余)的数据
版本控制工具
通过程序完成上述人工版本控制行为
优点:方便且功能强大;只记录不同版本之间变化的部分
Git
git是常见的版本控制工具之一,还有CVS
,SVN
也是版本控制工具
区域
git 提供了三个不同的工作区,用来存放不同的内容
工作目录;暂存区域;git仓库
状态
记录状态:1.已修改(
modified
)
2.已暂存(staged
)
3.已提交(committed
)
4.特殊状态 未追踪(Untracked
)
指令
1.
git init
创建一个init仓库,一个名为.git
的隐藏文件夹
2.ls -all
查看目录
3.git config user.name "你的姓名"
设置用户名
git config user.email "你的邮箱"
设置邮箱
不写用户名或邮箱时用于查询
4.git config --list
查看config文件所有的配置信息
5.
touch 文件名
创建一个文件
6.
git status
查看工作区的文件状态
红色代表未追踪的状态
7.git add 未追踪的文件名称
添加工作区文件到暂存区
8.git commit
将暂存区中的所有文件提交至仓库
git commit filename
指定提交
git commit -m 备注信息
单行备注
之后会打开默认编译器,可以写入描述信息的内容
9.git log
查看提交日志
git log --oneline
查看提交日志(简要格式)
10.git commit --amend
修复(替换上一次)提交,在不增加一个新的提交版本的情况下将新修改的代码追加到前一次的提交中
11.git rm 文件
从 git 仓库与工作区中删除指定文件
git rm --cached 文件
只删除 git 仓库中的文件
git commit -m 修正
删除 以后,需要 commit 这次操作,否则被删除文件将保留在暂存区
12.git reset
撤销重置
git reset HEAD 文件名称
从暂存区中撤销一个指定文件
git reset HEAD .
从暂存区中撤销所有文件
13.git reset --hard commitID
该命令可以用于回退指定的 commitID 版本
14.git diff 文件
比较 工作区和暂存区
git diff --cached [commitId] 文件
比较 暂存区和仓库
git diff commitId filename
比较 工作区和仓库
git diff commitId1 commitId2
比较 仓库不同版本
15.分支
git branch
查看分支
git branch 分支名称
创建分支
git checkout 分支名称
切换分支
git checkout -b 分支名称
创建并切换分支
git merge 被合并分支
合并分支,需要切换到合并分支,如:B 合并到 A,需要切换到 A 分支
git branch --merged
查看已合并的分支
git branch --no-merged
查看未合并的分支
git branch -d 分支名称
删除分支,无法删除未合并状态的分支
git branch -D 分支名称
强制删除
16.标签
有的时候,我们希望给某一个特定的历史提交打上一些标签
git tag -a v1.0.0 HEAD/commitId
创建tag
git tag
查看tag