03.git版本修改提交、回退

本文详细介绍如何使用Git进行文件修改及版本回退操作,包括状态检查、差异对比、提交更改及版本回退等关键步骤。

修改提交

1. 继续修改firstCode.txt文件;内容如下:1.fisrt  2.second  3.three
2. 

$ git status 查看当前版本库状态,显示有文件修改,等待add
On branch master
Changes not staged for commit:
(use “git add …” to update what will be committed)
(use “git checkout – …” to discard changes in working directory)
modified: firstCode.txt
no changes added to commit (use “git add” and/or “git commit -a”)

3. git显示文件已经被修改;
4. 

$ git diff firstCode.txt 显示不同
diff –git a/firstCode.txt b/firstCode.txt
index c2a9a62..57c8239 100644
— a/firstCode.txt
+++ b/firstCode.txt
@@ -1,2 +1,3 @@
1.fisrt
-2.second
\ No newline at end of file
+2.second
+3.three
\ No newline at end of file

5. 

$ git add firstCode.txt

6. 

$ git status
On branch master
Changes to be committed:
(use “git reset HEAD …” to unstage)
modified: firstCode.txt

7. 

git commit -m “second submit”
[master 9b1a1a8] second submit
1 file changed, 2 insertions(+), 1 deletion(-)

8. 

$ git status
On branch master
nothing to commit, working tree clean

回退版本

1. 

$ git log 显示版本提交历史信息
commit 9b1a1a8a1a5b232caaad3edb8272b6acb619426e
Author: chenkang1990 <623580460@qq.com>
Date: Sat Aug 13 15:33:04 2016 +0800
second submit
commit 07182c2051fc1e76ad48d329f953e0c33a932b3b
Author: chenkang1990 <623580460@qq.com>
Date: Sat Aug 13 15:22:55 2016 +0800

2. 

$ git reset –hard HEAD^
HEAD is now at 07182c2 create file

3. 用HEAD表示当前版本,上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写成HEAD~100。
4. 回退到上一个版本成功;
5. 

$ git log
commit 07182c2051fc1e76ad48d329f953e0c33a932b3b
Author: chenkang1990 <623580460@qq.com>
Date: Sat Aug 13 15:22:55 2016 +0800
create file

6. 只有上一个版本以前的信息了;
7. 

$ git reflog
07182c2 HEAD@{0}: reset: moving to HEAD^
9b1a1a8 HEAD@{1}: commit: second submit
07182c2 HEAD@{2}: commit (initial): create file

8. 看到所有版本信息。可以回到现在
9. 

$ git reset –hard 9b1a1a8
HEAD is now at 9b1a1a8 second submit

Git 中,如果需要回退到某个特定的提交(commit),同时保留现有的提交记录并创建一个新的提交来反映这些更改,可以使用 `git revert` 命令。该命令会创建一个新的提交,其效果是撤销指定提交所做的更改。这种方法不会修改历史提交记录,而是通过添加新的提交来实现更改的撤销,因此非常适合用于已经推送到远程仓库的提交。 ### 使用 `git revert` 回退到特定提交 假设你希望撤销最近的一次提交,可以使用以下命令: ```bash git revert HEAD ``` 这将创建一个新的提交,撤销最近一次提交中的更改。如果你希望撤销更早的提交,可以通过提供具体的提交 ID 来指定: ```bash git revert <commit-id> ``` 例如,撤销提交 ID 为 `abc1234` 的更改: ```bash git revert abc1234 ``` 执行此命令后,Git 会打开默认的文本编辑器,让你输入新的提交信息。你可以直接保存并关闭编辑器以使用默认的提交信息(通常是 "Revert commit abc1234"),或者自定义提交信息。 ### 处理冲突 在某些情况下,`git revert` 可能会导致冲突,尤其是在被撤销的提交与后续提交之间存在重叠更改时。如果出现冲突,Git 会在冲突文件中标记出冲突区域,你需要手动解决这些冲突。解决完成后,使用以下命令继续完成撤销操作: ```bash git add . git revert --continue ``` ### 示例流程 1. **查看提交历史**:首先确认你要撤销的提交 ID。 ```bash git log --oneline ``` 2. **执行 revert 操作**: ```bash git revert abc1234 ``` 3. **处理可能的冲突**:如果有冲突,解决冲突后继续操作。 ```bash git add . git revert --continue ``` 4. **推送更改**:最后,将新的提交推送到远程仓库。 ```bash git push origin main ``` 这种方式确保了你的提交历史是可追踪和不可篡改的,同时允许你在不破坏现有历史的情况下引入更改[^1]。 ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值