0%

Git学习日志之三-本地库操作

在编辑前首先介绍以下工作流程

本地库与远程库

团队内部协作:

跨团队协作:

添加提交以及查看状态

添加:将工作区的“新建/修改”添加到暂存区

1
git add [file name]

暂存区删除

1
git rm --cached [file name]

查看状态:查看工作区、暂存区状态

1
git status

提交:将暂存区的内容提交到本地库

1
git commit -m "commit message" [file name]

查看历史(日志)

1
2
3
4
5
6
7
8
9
git log:// 最完整的日志形式

// 多屏显示控制方式:空格向下翻页,b向上翻页,q 退出

git log --pretty=oneline:// 简洁的显示

git log --oneline // 更简洁的显示

git reflog :// HEAD@{移动到当前版本需要多少‘步数’}

实际操作

基本思路图: 步骤如下:

  1. 使用 vim 命令新建一个名为 demo1.txt ,并查看状态。提示我们暂存区没有相关的文件,并标红警告

  1. 将新建的文件新增到暂存区:

  1. 将文件添加到本地库:
    • 方式一:
    • 方式二:git commit [file name] 不建议使用

当然直接 commit 也可以,不过。。。

版本前进与后退:(基于索引值对文件进行前进与后退操作)

Vim 多屏显示控制方式:

  • 空格向下翻页
  • b 向上翻页
  • q 退出

查看操作日志:

1
git reflog :// HEAD@{移动到当前版本需要多少‘步数’}

实际操作:查看 reflog

  1. 首先使用 vim 命令新建了一个名为 hard.txt,并在里面写入项目数据‘aaa、bbb’
  2. 使用 git add hard.txt 命令将 hard.txt 添加到暂存区
  3. 使用 git commit hard.txt 命令将 hard.txt 添加到 本地库
  4. 使用命令 git reflog 查看相关的将要操作的参考

给‘项目’版本进行更新:

更新,并将其 commit 到本地库中

基本的已完成了,让我们来试试版本的前进与后退,并查看相对应的内容

git reflog

git reset —hard [索引值] //前进与后退索引命令

注意观察 cat hard.txt 的内容!!!

版本后退:

版本前进

基于符号的版本控制

1
2
3
4
5
// 基于^符号:只能进行版本后退
git reset --hard [file name]^ //回退一个版本
git reset --hard [file name]^^ //回退两个版本
// 基于~符号:
git reset --hard [file name]~n //回退n个版本

reset 命令参数对比:

-- soft

仅仅在本地库中移动 head 指针

  • 本地库下/上移动,相对的暂存区与工作区则被提前/回退了

-- mixed

在本地库移动 Head 指针

  • 不仅会移动本地库还会移动暂存区,不对工作区做修改

重置缓存区

-- hard

在本地库移动 head 指针

重置暂存区,重置工作区;

分支:

同时并行推进多个功能开发,提高效率

各个分支在开发过程中,如果某一个分支,开发失败,不会对其他造成影响

分支操作:

1
2
3
4
5
6
7
8
9
//查看所有的分支
git branch -v
// 创建分支
git branch [file name]
//切换分支
git checkout [file name]
// 合并分支
1.切换到接受修改的分支上(被合并,增加新内容)
2.执行merge命令即可

合并分支注意:首先对其他分支进行编辑更新添加新功能,然后需切换到主分支 master 上,执行 merge 命令,完成合并。便可更新增的功能

// 解决冲突(手动),当不能直接使用 merge 合并时,则需要

何时会出现合并错误?又如何去修改?

在不同分支出现出现相对应的更改时,自动合并不知道以何更新为主,合并将产生冲突;

重新 add,commit 注意 commit 不能带文件名

  1. 编辑文件,删除特殊符号
  2. 把文件修改至满意,保存并退出
  3. git add 【file name】
  4. git commit -m “log message”

    • 此处的 commit 不能带 file name