在编辑前首先介绍以下工作流程
本地库与远程库
团队内部协作:
跨团队协作:
添加提交以及查看状态
添加:将工作区的“新建/修改”添加到暂存区
1 |
git add [file name] |
暂存区删除
1 |
git rm --cached [file name] |
查看状态:查看工作区、暂存区状态
1 |
git status |
提交:将暂存区的内容提交到本地库
1 |
git commit -m "commit message" [file name] |
查看历史(日志)
1 |
git log:// 最完整的日志形式 |
实际操作
基本思路图: 步骤如下:
- 使用 vim 命令新建一个名为 demo1.txt ,并查看状态。提示我们暂存区没有相关的文件,并标红警告
- 将新建的文件新增到暂存区:
- 将文件添加到本地库:
- 方式一:
- 方式二:git commit [file name] 不建议使用
当然直接 commit 也可以,不过。。。
版本前进与后退:(基于索引值对文件进行前进与后退操作)
Vim 多屏显示控制方式:
- 空格向下翻页
- b 向上翻页
- q 退出
查看操作日志:
1 |
git reflog :// HEAD@{移动到当前版本需要多少‘步数’} |
实际操作:查看 reflog
- 首先使用 vim 命令新建了一个名为 hard.txt,并在里面写入项目数据‘aaa、bbb’
- 使用 git add hard.txt 命令将 hard.txt 添加到暂存区
- 使用 git commit hard.txt 命令将 hard.txt 添加到 本地库
- 使用命令 git reflog 查看相关的将要操作的参考
给‘项目’版本进行更新:
更新,并将其 commit 到本地库中
基本的已完成了,让我们来试试版本的前进与后退,并查看相对应的内容
git reflog
git reset —hard [索引值] //前进与后退索引命令
注意观察 cat hard.txt 的内容!!!
版本后退:
版本前进
基于符号的版本控制
1 |
// 基于^符号:只能进行版本后退 |
reset 命令参数对比:
-- soft
仅仅在本地库中移动 head 指针
- 本地库下/上移动,相对的暂存区与工作区则被提前/回退了
-- mixed
在本地库移动 Head 指针
- 不仅会移动本地库还会移动暂存区,不对工作区做修改
重置缓存区
-- hard
在本地库移动 head 指针
重置暂存区,重置工作区;
分支:
同时并行推进多个功能开发,提高效率
各个分支在开发过程中,如果某一个分支,开发失败,不会对其他造成影响
分支操作:
1 |
//查看所有的分支 |
合并分支注意:首先对其他分支进行编辑更新添加新功能,然后需切换到主分支 master 上,执行 merge 命令,完成合并。便可更新增的功能
// 解决冲突(手动),当不能直接使用 merge 合并时,则需要
何时会出现合并错误?又如何去修改?
在不同分支出现出现相对应的更改时,自动合并不知道以何更新为主,合并将产生冲突;
重新 add,commit 注意 commit 不能带文件名
- 编辑文件,删除特殊符号
- 把文件修改至满意,保存并退出
- git add 【file name】
-
git commit -m “log message”
- 此处的 commit 不能带 file name