【Git 学习笔记】三小时掌握 Git 命令之第 1 篇

此博客为该 B 站视频的学习笔记

Git基本命令行用法讲解

git-config

1. 配置命令:

git config --global user.name "xxx"
git config --global user.email xxxxxxxxxx@163.com
git config --global http.postBuffer 2M # 最大上传文件的大小
git config --global color.ui true

2. 查看配置:

git config --list
cat ~/.gitconfig # 查看配置文件

3. 直接修改配置文件

vim ~/.gitconfig

• 配置文件内容如下:

[user]
        email = 19805159366@163.com
        name = SEUZTh
[https]
[http]
        postBuffer = 2M

4. 删除配置

git config unset --global user.name

git-init

1. 初始化

• 使用当前目录作为Git仓库,我们只需使它初始化。

git init

该命令执行完后会在当前目录生成一个 .git 目录。
• 使用我们指定目录作为Git仓库。

git init newrepo

2. 查看生成的.git目录

cd .git
ls

除了config这个文件,.git的作用就是存储项目级别的配置信息。

git-commit

1. 显示工作目录和暂存区的状态

git status

2. 提交目录下所有文件

git add .

3. 提交指定文件

git add xxx.格式

4. 添加说明

git commit -m '说明'

5. 查看历史提交

git log

git-diff

1. 查看修改前后的区别

git-diff
加号表示添加的内容,减号表示删除的内容。
即使是修改某一行,也会显示删除和添加。

2. 添加到暂存区

git add .

或者指定文件:

git add xxx.格式

3. 查看状态

git status

4. 查看暂存区和Reportory的区别

git diff --staged

5. 将暂存区的内容提交

git commit -m '说明'

6. 查看提交历史

git log

git-rename

1. 查看状态

给文件重命名后查看:

git status

会显示删除了一个文件,有一个文件未被跟踪

2. 告诉git,删除了某文件

git rm xxx.格式

3. 添加重命名后的文件

git add xxx.格式

4. 查看状态

git status

会显示renamed某个文件。

5. 提交

git commit -m '把xxx重命名为xxx'

git-mv

1. 重命名文件

git mv 旧文件.格式 新文件.格式

2. 查看状态

git -status

3. 提交

git commit -m '把某某重命名为某某某'

4. 移动文件或目录

git不会跟踪空白目录,新建目录后,查看状态时不会提示有新文件夹。
git mv xxx.格式 新文件夹/
git mv 旧文件夹 新文件夹/

查看状态时会提示重名了,新文件名包含文件路径。

5. 提交

git commit -m '把什么移动到了什么目录下'

git-rm

1. 删除文件

git rm xxx.格式

2. 查看状态

git status

3. 提交

git commit -m '删除了某某某文件'

删除之前要确定这个文件已经在Git Reportory中,并且没有将要被提交的修改,否则不会允许删除。

git-head

1. 删除文件

git rm xxx.格式

2. 恢复文件

git checkout HEAD -- xxx.格式 # HEAD代表最近的一次提交,--表示当前分支

3. 提交删除后恢复文件

如果是rm删除后并commit提交后,工作目录变成干净的,此时想要恢复的话,需要恢复到最近一次的上一次提交

git checkout HEAD^ -- xxx.格式 # ^表示上一次提交,两个^^上上次

再提交

git commit -m '恢复了某某某文件'

git-revert

1. 查看历史提交

只查看有id号的一行

git log --oneline

2. 恢复某次提交

git revert id号

会打开默认的编辑器,输入关于这次提交的信息。

git-reset

1. soft

不会影响到工作区和暂存区的东西。

git log --oneline
git reset --soft id号 # 将指针指向id这次提交

再次提交,会覆盖掉id号后面的提交。

2. hard

把工作区和暂存区直接重置到一个提交的状态。

git reset --mixed id号

会发现暂存区中的东西不见了,需要git add添加并commit提交。

3. mixed

会把暂存区的东西重置到指定的提交状态,并把指针指向这个提交

git reset --hard id1

会发现工作目录干净了。

git reset --hard id2

又重置回最后一次提交

git-branch

1. 查看项目所有的分支

git branch

“*”星号表示当前分支的位置。

2. 创建新分支

git branch xxx

3. 切换分支

git checkout xxx

4. 查看当前分支

git branch

git-checkout

1. 查看提交历史(显示是哪个分支上的)

git log --oneline --decorate

2. 切换到主分支

git checkout master

此时查看历史只能查看master分支上的提交。

3. 查看所有分支的历史提交

git log --oneline --decorate --all

git-branch-diff

1. 查看两个分支的区别

git diff master..某某某

2. 查看两个分支的同一文件的区别

git diff master..某分支 某文件

git-fast-forward

1. 合并某分支到master

git merge 某分支

这是一个Fast-forward,不会是一个新的提交,查看历史提交,会显示最后一次是在分支上进行的提交。

git diff master..某分值

对比后没有区别。

git-merge

1. 切换分支

git checkout 某分支
git branch # 查看当前分支

2. 快捷提交

这样做就不需要add了。

git commit -am '说明'
git log --oneline # 查看历史提交

3. master和某分支均已修改的情况下合并

不能再使用Fast-forward。

git log --oneline --decorate --all -19 --graph # 查看10条,所有分支的历史提交
git branch # 查看当前所在分支
git merge 某分支 

输入合并提交的描述(可保持默认)
再次查看:

git log --oneline --decorate --all -19 --graph # 查看10条,所有分支的历史提交

git-conflict

1. 合并分支时出现冲突

将master合并到某分支时,

git merge master

提示CONFLICT (content): Merge conflict in xxx.
到该文件中,git已经给标出冲突的内容,删掉我们不需要的,留下需要的即可:

<<<<<<< HEAD
内容
=======
内容
>>>>>>> master

接下来提交:

git add.
git commit # 这里可以不用写描述信息

把弹出的内容中Conflicts那几行代码删除,保存退出,即合并成功,查看一下日志:

git log --oneline --decorate --all --graph

rm-branch

1. 给分支重命名

git branch -m 已经存在的分支 新名字

2. 删除分支

git branch -d 某分支

下一篇:【Git 学习笔记】三小时掌握 Git 命令之第 2 篇

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

宇宙爆肝锦标赛冠军

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值