GIT知道这些就够了

git 知道这些就够了

『Git』知道这些就够了

在这里插入图片描述

git status

可以查看当前仓库的状态信息。
在这里插入图片描述
如果在仓库创建两个新文件,index.html 和 index.js。
在这里插入图片描述
在执行一下 git status
在这里插入图片描述

git add <文件名>

输入git add <文件名> 可以将单个文件加入暂存区。
在这里插入图片描述
再次查看状态:发现 index.html 绿了
在这里插入图片描述
如果要把全部文件加入暂存区,可以使用 git add .命令。
在这里插入图片描述
OK,他全家都绿了。

git commit -m

使用 git commit -m <描述> 命令提交变更。
在这里插入图片描述
这样,就提交了 commit 。

git log

可以通过 git log 命令查看日志。
在这里插入图片描述
通过日志,我们可以看到什么人在什么时间提交了什么日志。每一个commit会生成一个哈希值,这个值是唯一的。

接下来我们修改一下 index.js 文件,简单的加几行代码。
在这里插入图片描述
加完三行代码,然后在查看状态。
在这里插入图片描述
发现又出现红色的文件,红色的文件表示有新的变更,然后重复之前的步骤,提交一下代码。
在这里插入图片描述
注意,git commit 只提交那些被绿了的文件。

git reset <文件名>

当你 add 了一个文件,但是又后悔了,觉得本次提交不该包含这个狗东西的时候,在commit之前,我们可以使用 git reset 来讲绿色的重新变成红色的。

文件状态

文件是有状态的
在这里插入图片描述

变更

变更就是对比仓库文件和现有文件之间的差异,如果一致,则认为unmodified,也就是说,只要提交了,就是 unmodified。

自定义命令 alias

git 常用命令
在这里插入图片描述
设置自定义命令:找到git安装目录,打开 gitconfig文件
在这里插入图片描述
然后就可以设置自己的 alias。
在这里插入图片描述

回退 Reset

如果我们提交了多次,就像上面我们提交了两次,但是我觉得第一次提交的好,我想回到第一次提交的状态,可以先找到当时的 commit ID,然后通过 git reset <commitID>将文件恢复到当时提交时的状态(指文件内容)。
在这里插入图片描述
关于 --hard 参数加不加的区别后面会说,然后 git log 看一下提交日志。
在这里插入图片描述
发现第二次提交没有了,哈哈哈哈。

假如说,你有他妈的后悔了,想回到最新的 commit 怎么办,这是后可以使用 git reflog 命令查看所有的操作记录,在当中找到你想回退的 commitID 再次使用 git reset 命令即可回到最新的版本。
在这里插入图片描述
这时候发现这个 commitID 和之前不一样长是吧,其实是一样的,其实 commitID 只要前七位就可以锁定是那个 commit 了,所以输入全部和输入前七位是一样的。其实如果想回到最新的,直接使用git pull 也行,后面会说。

git reset 的模式

reset 是可以重置到某个 commit 状态的。那么 reset 之后的文件变更去哪里了,这里就受到了 reset 模式的影响。
在这里插入图片描述

分支 Branch

我们可以使用 git checkout -b <name><template> 命令创建新的分支。后面跟两个参数,第一个参数是新分支的名字,第二个参数是指以哪个分支或者是 commit 为模板,如果第二个参数不填,则以当前所在分支为模板。这个模板的意思?
在这里插入图片描述
我们每次 commit 是记录在当前分支中的,假如我们以这个分支为模板,新切一个分支,新分支的记录会继承自模板分支。
在这里插入图片描述
但是请注意,切完分支后,分支的改动都和其他分支不在有关系。
在这里插入图片描述
新切一个分支叫 bc-a 。
在这里插入图片描述
查看日志,发现他继承了模板分支。
在这里插入图片描述
然后修改一下在这里插入图片描述
在 bc-a 分支提交一个 commit。查看日志在 bc-a 分支有新的commit 提交。
在这里插入图片描述
这个在 bc-a 分支提交的commit ,在 主分支会有吗?

使用 git checkout master 可以切换回主分支。
在这里插入图片描述
好的,主分支没有记录。

接下来可以通过 git branch 来查看所有分支。
在这里插入图片描述
高亮的条目代表我们现在所处的分支,这样的话我们想要去某一个 commit 就可以通过切换分支而不是去找 commitID,这样还是挺方便的。

合并 merge

如果我们需要合并其他分支的变更,我们使用 git merge <branchName> 命令即可合并分支变更,注意,是分支变更,不是分支内容。
在这里插入图片描述

远程仓库 Remote

之前所有的骚操作都是在我们自己本地电脑里面执行的单击小游戏玩法。

切换到 bc-a 分支,然后提交 bc-a 分支到远程仓库是失败的,因为远程仓库没有 bc-a,所以我们使用下面提示的命令在远程仓库创建 bc-a。

git push -set-upstream origin bc-a

在这里插入图片描述

拉取远程仓库信息

git fetch

在这里插入图片描述
上面的命令只是知道远程仓库有一个 bc-a 分支,但是本地是没有的。

查看本地分支
在这里插入图片描述
git fetch 然后 git checkout bc-a 模板分分支来自远程仓库,就不需要设置上流分支了。

在前面,专门讲 branch 的命令格式 git checkout -b <name><template> ,但是,如果 trmplate 不是本地的,是来自远程仓库的话,需要在 template 前面加一个 origin ,也就是 git checkout -b <name> origin <template>

git pull

git pull 等于 fetch + merge

变基 Rebase

在这里插入图片描述
搞错了,不是上面的变基,是下面的…

在这里插入图片描述
在这里插入图片描述
变基简单点就是重新排列 base,而 base 就是指 commit 。

在分支变基:

git rebase master

变基完成, add 到暂存区,使用

git rebase --continue

执行下一个 commit 的 rebase,直至完成。

猜你喜欢

转载自blog.csdn.net/weixin_42776111/article/details/108849809