版本控制
集中化的版本控制系统
分布式版本控制系统
区别
- 无网络,用 svn,不能向数据库提交修改
- 控制文件方式
_ svn:随时间逐步增加 _ git:快照流
git 的三种状态
cli 基本操作
服务器端创建项目
克隆项目
1 | shixinghao@SC-201611201637 MINGW64 /e/my_work/github |
- 检查状态
已跟踪、未跟踪
1 | $ git status -s |
- 提交
1
2
3
4$ git commit -m 'init'
[master 4618f45] init
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 index.txt1
2shixinghao@SC-201611201637 MINGW64 /e/my_work/github/hello-git (master)
$ git commit -a -m 'init' 移除文件
提交区删除1
2rm index.txt
$ git rm index.txt暂存区删除
1
$ git rm -f index.txt
撤销
覆盖提交1
2
3$ git commit -m 'initial commit'
$ git add forgotten_file
$ git commit --amend撤销暂存区
1
$ git reset HEAD 2.txt
还原至上次提交版本
1
$ git checkout -- 2.txt
分支管理
- 新建分支
1
$ git branch v1.0
- 切换分支
1
$ git checkout v1.0
分支移动
分支应用
合并 merge
{% asset_img 12.png 开始 %}
{% asset_img 13.png 处理新业务53 %}
{% asset_img 14.png 提交53 %}
{% asset_img 15.png 在主分支新建bug %}
{% asset_img 16.png fix后merge到master %}
{% asset_img 17.png 53继续进行 %}
{% asset_img 18.png 53 merge到master %}
变基 rebase
{% asset_img 19.png start %}
{% asset_img 20.png git rebase master %}
{% asset_img 21.png git merge experiment %}
GUI 基本操作
clone
add/commit/ignore
branch