Git工作中常用命令

模拟一个git完整命令流程

有一个名为 example.txt 的文本文件

Hello, this is some text.

1、做一些修改并查看文件的差异:

# 修改 example.txt 文件
echo "Hello, this is some updated text." > example.txt

查看文件的差异

git diff

git diff 命令将显示你修改的内容,类似于:

diff --git a/example.txt b/example.txt
index 08f1df5..82ea587 100644
--- a/example.txt
+++ b/example.txt
@@ -1 +1 @@
-Hello, this is some text.
+Hello, this is some updated text.

2、暂存修改并再次查看差异

暂存修改单个文件
git add example.txt`

暂存修改全部文件命令
git add ./

查看暂存区与最新提交(HEAD)之间的差异

# 查看暂存区与最新提交(HEAD)之间的差异
git diff --staged

显示如下内容:

diff --git a/example.txt b/example.txt
index 08f1df5..82ea587 100644
--- a/example.txt
+++ b/example.txt
@@ -1 +1 @@
-Hello, this is some text.
+Hello, this is some updated text.

3、提交修改并查看提交历史

# 提交修改
git commit -m "Update example.txt with new text"

# 查看提交历史
git log --oneline

显示

cfc3e85 (HEAD -> main) Update example.txt with new text
6d68a12 Initial commit

4、git revert 撤回提交

使用 git revert 撤销最新的提交,需要vi编辑撤回的注释

# 使用 git revert 撤销最新的提交
git revert HEAD

# 确认撤销后的提交信息,按 i 进入编辑模式,输入撤销提交的注释信息,然后按 Esc,输入 :wq 保存退出。

Git 将创建一个新的提交,该提交会撤销之前的提交。你可以在 git revert 后编辑提交信息,如果不需要更改,默认会使用撤销提交的注释信息。

查看撤销提交后的提交历史和文件内容:

# 查看提交历史
git log --oneline

显示:

81c40b1 (HEAD -> main) Revert "Update example.txt with new text"
cfc3e85 Update example.txt with new text
6d68a12 Initial commit

查看文件

# 查看 example.txt 文件内容
cat example.txt

显示文件已经撤回

Hello, this is some text.

还可以使用 git reset 命令进行撤回,详情介绍在5

5、commit后不需要撤回,直接push

Git push

如果要撤回push的代码

撤销上次提交
git revert HEAD 
撤回指定的hash)
git revert e3fa6b3  

撤销后,需要重新git push

# 查看提交历史
git log --oneline

查看提交历史,可以看到撤回的记录

6、git reset 撤回销命令

git reset 是不会保留提交历史记录的,git revert是有完整记录的

1、保留修改内容在暂存区

回退到哪个hash
git reset --soft  hash值
git reset --soft 模式下,
执行 git reset --soft HEAD^ 
可以撤销上一个 commit,并保留修改内容在暂存区(staging area)。
这意味着之前的 commit 中的修改将回到暂存区,你可以修改这些代码并重新提交,将修改后的代码作为一个新的 commit 提交

2、不保留修改内容在暂存区(git reset 或 git reset --mixed)

git reset 或 git reset --mixed 模式下,
执行 git reset HEAD^ 或者简写成 git reset HEAD~1,
可以撤销上一个 commit,并将更改内容退回到工作目录(working directory),不保留在暂存区。

这意味着之前的 commit 中的修改将回到工作目录,并不在暂存区,你可以对代码进行修改,并重新选择要暂存的更改,然后使用 git add 将更改添加到暂存区,再次进行 commit。

选择建议:

如果你需要撤销已经推送到远程仓库的提交,并且希望保持仓库的一致性,应该使用 git revert。

如果你需要撤销未推送的提交或者回退到之前的状态,并且明确了操作的影响,可以使用 git reset。

但请注意,git reset 可能会修改历史记录,所以要谨慎操作。

7、git merge

如果确保没有冲突,可以直接使用该命令merge最新代码到对应分支
**注意:**如果有冲突或冲突过多,建议使用可视化文件对比idea工具,进行merge,并在可视化文件对比中进行冲突的解决。

8、git merge --abort 取消merge

遇到同事间多人开发代码冲突,可以取消merge,让别人先进行merge后,在进行自己代码merge,解决冲突

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值