概述
git
是分布式的,svn
并不是git
把内容按照元数据方式存储,svn
是按文件git
的分支和svn
的分支是不同的git
没有一个全局的版本号,但是svn
有git
内容完整性要优于svn
配置信息
用户信息
1 2 |
git config --global user.name "aet" git config --global user.email aet@gmail.com |
查看信息
1 2 3 4 5 6 7 8 |
//系统config git config --system --list //当前用户(global)配置 git config --global --list //当前仓库配置信息 git config --local --list |
相关概念
- 工作区
- 通俗的讲就是电脑上能看到的目录
- 暂存区
- 叫
stage
或index
,一般放在.git
文件夹中的index
文件中
- 叫
- 版本库
- 隐藏目录
.git
- 隐藏目录
基本操作
git add
git add .
git status
- 查看项目当前状态
git diff
- 查看
git status
的结果的详细信息 git diff
- 尚未缓存胡改动
git diff --cached
- 已缓存的改动
git diff HEAD
- 已缓存的和未缓存的所有改动
git diff --stat
- 显示改动的摘要
git reset HEAD
- 取消已缓存的内容
git rm
git rm file_name
- 文件未存到暂存区,直接从工作目录删除
git rm -f file_name
- 文件已存到暂存区,强制删除暂存区内容和工作目录内容
git rm --cached file_name
- 文件已存到暂存区,保留工作目录内容,仅从暂存区移除
git rm -r *
- 递归删除目录中的子目录和文件
git mv
- 用于移动或重命名一个文件、目录、软连接
分支管理
创建分支
1 |
git branch branch_name |
删除分支
1 |
git branch -d branch_name |
切换分支
1 |
git checkout branch_name |
合并分支
1 |
git merge branch_name |
如果有冲突的话,打开产生冲突的文件,找到产生冲突的地方,手动修改,然后通过
git add
告诉git
冲突已解决。
列出分支
1 |
git branch |
分支对应的远程分支
1 |
git branch -vv |
同步分支
master->aet
1 2 3 4 5 6 |
git checkout aet git merge master //如果有最新修改的内容 git add . git commit -m "master同步到aet" git push |
aet->master
1 2 3 4 5 6 7 8 |
git stash save "cur_aet" git pull //假如stash@{0}对应cur_aet这一条 git stash apply stash@{0} //有冲突的解决冲突 git add . git commit -m "aet同步到master" git push |
提交历史
1 |
git log |
- 列出详细的提交记录
1 |
git log --oneline |
- 简洁的提交记录
1 |
git log --graph |
- 开启拓扑图
1 |
git log --reverse |
- 逆向显示日志
1 |
git log --author=aet --oneline -5 |
- 指定用于aet提交的近5次记录
1 |
git log --oneline --before={3.weeks.ago} --after={2020-06-16} |
- 指定日期范围
标签
创建标签
1 |
git tag -a v1.0 |
日志显示标签
1 |
git log --decorate |
追加标签
1 |
git tag -a v2.0 45fc9e3 |
查看标签
1 |
git tag |
指定标签信息
1 |
git tag -a tag_name -m "aet" |
指定签名标签
1 |
git tag -s tag_name -m "aet-18" |
本文为原创文章,版权归Aet所有,欢迎分享本文,转载请保留出处!
你可能也喜欢
- ♥ Git 版本回滚10/02
- ♥ Learn Git Branching01/02
- ♥ Soui九07/25
- ♥ breakpad记述:Windows下静态库的编译使用03/15
- ♥ 关于SSH08/18
- ♥ Lua_基础 结构控制09/27