做网站购买空间多少钱,企业网站推广费用,百度网站收入,百度一下网页版常用命令总结
注意坑 新增文件是未被跟踪状态#xff08;untracked#xff09;#xff0c;也就是下面命令不会对此文件生效所以新增文件#xff0c;需要先被 git 记录到#xff0c;也就是 git add new-file之后执行这些操作#xff0c;就会生效了
# 丢弃工作区的修改untracked也就是下面命令不会对此文件生效所以新增文件需要先被 git 记录到也就是 git add new-file之后执行这些操作就会生效了
# 丢弃工作区的修改不包括对文件自身的操作如添加文件、删除文件
git restore file_name
# 将暂存区的修改重新放回工作区包括对文件自身的操作如添加文件、删除文件
git restore --staged file_name # 撤销最新的 commit将其改动放回到 工作区
git reset HEAD~ # 或 git reset --mixed HEAD~ 都是同一个意思# 撤销最新的 commit将其改动放回到 暂存区
git reset --soft HEAD~ # 丢弃当前工作区和暂存区所有的改动
git reset --hard HEADgit store
『现学现忘』Git基础 — 23、Git中的撤销操作 - 繁华似锦Fighting - 博客园一次搞清 git checkoutgit restore 和 git reset_git restore和git checkout-CSDN博客
# 丢弃工作区的修改不包括对文件自身的操作如添加文件、删除文件
git restore file_name
# 将暂存区的修改重新放回工作区包括对文件自身的操作如添加文件、删除文件
git restore --staged file_name git reset —— 更改 HEAD 指针指向
git 工作原理与撤销操作图解 | Shall We Code?
# 将该 commit-id 后面所有 commit 丢弃那丢弃的 commit 中的改动内容是否会消失
# --mixed 模式 也就是默认模式会将所有丢失 commit 的文件改动等放到【工作区】
# --soft 模式 也就是默认模式会将所有丢失 commit 的文件改动等放到【暂存区】
# --hard 模式 也就是默认模式会将所有丢失 commit 的文件改动【丢弃】# 所以再执行 reset 前最好将工作区和暂存区清空否则可能有未注意到的合并从而产生bug
# 比如若有当前工作区有 a 文件改动撤销的 commit 中也有 a 文件的改动 git reset 执行后工作区的 a 文件是以哪种改动为主
# 经测试 a 文件的改动 当前工作区的 a 文件改动 撤销commit中a文件的改动
# 所以即使无法清空工作区和暂存区最好也要保证 工作区和撤销的commit中 没有相同文件的改动
# 另外执行 hard 模式要慎重会造成文件的丢失
# 若不慎造成 commit 丢失可以通过 reflog 进行恢复但是无法恢复【工作区】和【暂存区】的文件丢失
git reset commit-id # 默认 --mixed 模式# 将该 commit-id 后面所有 commit 撤销
git reset commit-id # 默认 --mixed 模式
# 将最新的 commit 撤销
git reset HEAD~ # 或 git reset HEAD^
# 将最新的和次新的 commit 撤销
git reset HEAD~2 # 或 git reset HEAD^^git revert
git 工作原理与撤销操作图解 | Shall We Code?
# git revert 不会改变历史 commit而是提交一个新 commit执行指定 commit 中改动的反向操作
# 如 commit-A 中的改动是新增 a.txt 文件 git revert commit-A 执行后会新增一个 commit该 commit 的改动就是 删除 a.txt
git revert commit-idgit clean
Git clean: 清除不必要的文件并优化你的代码库 - 掘金
git clean用于清除没有加入到git版本库的文件和目录如果加入到git版本库里的话我们就无法使用git clean 清除必须还原到未跟踪Untracked状态才可以进行git clean清除在我们进行git管理项目代码的时候经常会遇到以下场景。
在项目中添加了许多测试资源测试完成后想把它们删了。代码回滚时有些文件或目录回滚到了未跟踪Untracked状态并需要把它们移除掉。项目开发过程中临时创建了很多临时文件夹和目录在项目核心代码加入到暂存区前需要移除无用文件。
这个时候通过使用git clean命令来处理就会非常容易。
# 小结
git clean在开发中应该充分应用。因此请牢记以下几个组合参数
-n显示哪些文件会被删除,如果文件是.gitignore里标记的文件则忽略。
-d,查找目录。
-f,删除文件。
-x,查找未跟踪Untracked所有文件
-X,仅查找.gitignore里标记的未跟踪Untracked文件查看删除列表 git clean -n组合
删除列表git clean -f组合# 1. 查看哪些文件会被删除
# 可以查看哪些未跟踪文件将会被删除同时这些文件没有在.gitignore文件里进行标记。
git clean -n
# 查看将会被删除的所有未跟踪文件
git clean -nx
# 只展示那些在.gitignore里标记的文件中哪些是将要被删除的未跟踪文件。
git clean -nX
# 可以查看哪些文件和目录将会被删除,同时这些文件和目录没有在.gitignore文件里进行标记
git clean -nd
# 查看将会被删除的所有未跟踪的文件和目录
git clean -nx
# 只展示那些在.gitignore里标记的文件和目录中哪些是将要被删除的未跟踪文件和目录。
git clean -nX
# 其中.gitignore中如果忽略的文件目录结构是dir/*时git clean -ndX只删除忽略目录下的所有文件如果忽略的文件目录结构是dir/时,git clean -ndX删除忽略的目录# 2. 执行删除操作
# 删除.gitignore里未标记的文件
git clean -f
# 删除所有未跟踪的文件
git clean -fx
# 只删除.gitignore里标记的文件
git clean -fX# 删除.gitignore里未标记文件和目录
git clean -fd
# 删除所有未跟踪的的文件和目录
git clean -fdX
# 删除.gitignore里标记的文件和目录
git clean -fdX