柚子快报邀请码778899分享:c++ git提交和回退

http://yzkb.51969.com/

目录

一. git 提交二. git commit 后准备回退,尚未 git push三. git add 添加多余文件 撤销操作四. 更改 Git commit 的默认编辑器五. 撤销某个commit的变更六. 回退到之前的commit状态总结:

一. git 提交

git pull # 更新代码

git status # 查看代码状态,包括修改的,未追踪的

git branch -a # 查看有哪些分支和自己在哪个分支

git diff(file) # 查看文件变动处,不接file即为查看所有改动文件变动

git add file # 提交文件至本地暂存区

git commit -m "...." # 提交文件并说明提交信息

git push origin diag_service_base # (orign:远端分支 diag_service_base:自己所在分支 即为将自己分支上的改动文件提交至远端分支),待有权限的人合并分支

git config --global user.email "dengwen@g-pulse.net" # 配置git名字和邮箱

git config --global user.name "dengwen"

git config --global credential.helper store # 保存git名字和密码,不用每次提交输入名字和密码

git config --global --list # 查看当前服务器配置名称和邮箱

二. git commit 后准备回退,尚未 git push

执行 git log 找到准备退回到的 commit 的 id 比如 commit id 为:90f1ce4d73c5dc63f46fa61984a6bb878f47374执行 git reset --soft HEAD^ 操作 对应 HEAD 即上述 commit id 信息

git reset --soft 90f1ce4d73c5dc63f46fa61984a6bb878f47374^ # 用 soft 回退则文件的修改还在,还可以继续其他操作

git reset --hard 90f1ce4d73c5dc63f46fa61984a6bb878f47374^ # 用 hard 回退则会用指定分支覆盖本地文件,文件的修改不存在,不建议使用,除非想用指定版本覆盖本地

说明:最后的符号^记得不要漏掉 此时通过 git status 时,可以看到 git add 的文件(绿色)

git restore --staged CMakeLists.txt # 恢复到提交之前状态

git stash # 将更改文件暂存到暂存区

git checkout -b xxx # 创建 xxx 分支并切换到此分支上

git stash pop # 将暂存区的更改文件弹出到新分支上

git add # 执行常规操作即可提交文件

git reset modify_file 将指定文件 modify_file 恢复到上一个提交(commit)的状态。这个命令会撤销对该文件的所有本地修改,将其恢复到最近一次提交时的状态。这可以用于取消对文件的某些更改,或者在需要时重新开始对文件的修改。需要注意的是,使用 git reset 可能会丢失未提交的更改,因此在使用之前务必谨慎考虑。git checkout – modify_file 通过 git checkout – modify_file 还原至修改之前状态

git checkout -- . # 回退多个修改文件

git checkout a99a439c7fb20d6e5c7a25162cb6c96eebcbd3f0 # 跳转到指定版本

git checkout a99a439c7fb20d6e5c7a25162cb6c96eebcbd3f0 -- file # 跳转到指定版本的文件

git clean -df 删除本地有但版本库中没有的文件

git clean -df

三. git add 添加多余文件 撤销操作

git reset HEAD 后面什么都不跟的,就是上一次 add 里面的内容全部撤销 git reset HEAD XXX 后面跟文件名,就是对某个文件进行撤销

git commit 撤销操作

git reset --soft HEAD^

这样就成功的撤销了 commit 操作 注意,仅仅是撤回 commit 操作,您写的代码仍然保留。 2. git reset 其他参数说明:

--mixed

# 意思是:不删除工作空间改动代码,撤销 commit,并且撤销 git add . 操作

# 这个为默认参数, git reset --mixed HEAD^ 和 git reset HEAD^ 效果是一样的。

--soft

# 不删除工作空间改动代码,撤销 commit,撤销 git add .

--hard

# 删除工作空间改动代码,撤销 commit,撤销 git add .

# 注意完成这个操作后,就恢复到了上一次的 commit 状态。

# commit 注释写错了,只是想改一下注释,只需要:

git commit --amend

# 此时会进入默认 vim 编辑器,修改注释完毕后保存就好了。

四. 更改 Git commit 的默认编辑器

在 Linux 中可以按照以下步骤进行操作: 1.打开终端,并输入以下命令来更改 Git 的全局配置:

git config --global core.editor

将 editor 替换为你想要设置为默认编辑器的命令。例如,如果你想要将默认编辑器更改为 vim,可以输入以下命令:

git config --global core.editor "vim"

2.保存更改后,Git 将使用设置的编辑器作为默认编辑器进行 commit 操作。 现在,当在执行 Git commit 操作时,Git 将自动启动设置的编辑器来编辑: commit message。 验证设置是否生效,可以使用以下命令查看当前的 Git 全局配置:

git config --global --get core.editor

git如何撤销提交的commit

五. 撤销某个commit的变更

如果我们需要完全撤销某个commit及其对应的变更,可以使用git revert命令。 步骤如下:

使用git log命令查看提交历史,并找到需要撤销的commit的哈希值,例如"commit2"。输入git revert commit2来撤销该commit及其对应的变更。Git会自动创建一个新的commit来记录撤销的更改。可以使用git log命令查看撤销后的提交历史。最后使用git push命令将撤销后的commit推送到远程仓库。 这种方法是相对安全的,因为它会保留之前的commit记录,并且不会破坏其他人的代码库。

六. 回退到之前的commit状态

如果我们需要完全回退到某个commit之前的状态,可以使用git reset命令。 步骤如下:

使用git log命令查看提交历史,并找到需要回退到的commit的哈希值,例如"commit3"。输入git reset commit3来回退到该commit之前的状态。Git会将当前分支指针指向到指定的commit,但是之后的commit会被丢弃。最后使用git push -f命令将回退后的状态强制推送到远程仓库。 需要注意的是使用git reset命令回退commit会导致之后的commit丢失,可能会导致其他人的代码库出现问题,所以在使用之前应该与团队成员进行沟通和协调。

总结:

撤销提交的commit是Git中常见的操作之一,在错误的提交或者需要对之前的代码变更进行修复的情况下,我们可以使用git commit --amend命令修改最后一次commit的内容,使用git revert命令撤销某个commit的变更,或者使用git reset命令回退到之前的commit状态。

沾衣欲湿杏花雨,吹面不寒杨柳风。 2024年3月26日18:37:02

柚子快报邀请码778899分享:c++ git提交和回退

http://yzkb.51969.com/

推荐链接

评论可见,请评论后查看内容,谢谢!!!评论后请刷新页面。