1、把文件添加到版本控制中(暂存区)
git add a.txt
2、获取文件状态
$ git status
On branch master
Initial commit
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: a.txt
3、提交任务列表文件
$ git commit -m '123'
[master (root-commit) 173914c] 123
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 a.txt
4、直接提交不做add操作
git commit -a -m''
5、切换分支
git checkout dev
6、差异比较 git diff
- 比较工作区和暂存区,git diff
- 比较暂存区和HEAD, git diff --cached
- 比较工作区和HEAD, git diff HEAD
- 比较里程碑B和里程碑A,git diff B A
- 比较工作区和里程碑A,git diff A
- 比较暂存区和里程碑A,git diff --cached A
文件不同版本的差异比较
差异比较还可以使用路径参数,只显示不同版本间该路径下文件的差异,语法格式
$ git diff <commit1> <commit2> -- <paths>
7、获取历史版本的方式
动作 | 命令格式 | 示例 |
---|---|---|
查看历史提交的目录树 | git ls-tree <tree-ish> <paths> | git ls-tree 776c59d README |
整个工作区切换至历史版本 | git checkout <commit_id> | git checkout HEAD^^ |
检出某文件的历史版本 | git checkout <commit_id> -- <path> | git checkout 778c59d README |
检出某文件的历史版本到其他文件 | git show <commit_id>:<file> > new_name | git show 887113d:README > REAME.old |
8、删除暂存区的临时对象给磁盘瘦身
a、查找临时对象
git fsck
dangling blob 2we5345t3345tf3wert543we
b、执行清理命令
git prune
完成对git版本库中无用对象对清理操作
9、分支相关操作
1、git branch 查看分支,* 代表当前分支
2、git branch <branch_name> 创建一个分支,默认以HEAD为基础
3、git branch <branch_name> <start_point> 基于<start_point>的基础创建分支
4、git branch -d <branch_name> 删除分支,删除前检查分支是否合并到其他分支,否则拒绝
5、git branch -D <branch_name> 删除分支,强制删除
6、git branch -m <old_branch> <new_branch> 修改分支名称,如果已经存在new_branch分支,则失败
7、git branch -M <old_branch> <new_branch> 强制修改分支名称,无论该名称是否存在
实际开发中,常用特性分支。
创建分支两种方式
方式一:
$ git branch new_b 创建分支
$ git checkout new_b 检出分支
方式二:
$ git checkout -b <new_branch> 创建分支,并直接检出