工作区(workspace): 在 git 管理下的正常目录都算是工作区,我们平时的编辑工作都是在工作区完成的暂存区(stage):临时区域。里面存放将要提交文件的快照历史记录区(history):git commit 后的记录区域 三个区的转换关系以及转换所使用的命令:git reset 、 git revert 和 git checkout 的共同点:用来撤销代...
1、git checkout:检查出特定版本的文件 git checkout 命令用于切换分支或恢复工作目录中的文件到指定的提交。 恢复工作目录中的文件到某个提交: git checkout<commit>--<filename> 例如,将 file.txt 恢复到 abc123 提交时的版本: git checkout abc123--file.txt 切换到特定提交: git checkout<commit> 例如:...
在stackoverflow上面查到的清楚之前混乱commit history的方案: 检出master git checkout --orphan ddmichael_branch 2. 暂存全部文件 git add -A 3. 提交刚刚暂存的所有文件 git commit -am "commit message" 4. 删除主线 git branch -D master 5. 将目前这个ddmichael_branch重命名为master主线 git branch -...
命令:git checkout -b new_branch_name history_commit_id 例如:git checkout -b release_rollback20211229 c7215d...f8ef74
有的将这里称为暂存目录,有的称为索引区。而在Reset, Checkout, and Revert一文中就是简单称之为“快照区”,在下实在是认同。原因以下讲。 Commit History 其它文章看到过有将其为版本库或是仓库的,这个让人糊涂。因为 Git 本身就是一个版本控制系统,私以为这三者联合起来才能称之为版本库。而至于 HEAD,说的...
再议git的checkout, revert, 和reset命令 这三个命令都是git用于回退,修正错误的命令。 三个基本概念 Working Directory(工作区) <--> Staged Snapshot(暂存区) <--> Commit History git checkout 迁出历史版本文件。 用法 git checkout <branch> # 这个是切换branch,不讨论 ...
文章大部分翻译于Undoing Changes和Rewriting history,并结合了自己的一些理解和补充。 撤销改动(Undoing Change) git checkout git checkout有三个不同的功能:切换分支、回滚至某个commit、回滚一个文件至某个commit。切换分支是git checkout最常见的功能,不做介绍,这里主要介绍下它在撤销文件改动上的应用。
使用git reset --hard HEAD 用来撤销还没commit 的merge,其实原理就是放弃index和工作区的改动。 也可以使用git reset --merge ORIG_HEAD,注意其中的--hard 换成了 --merge,这样就可以避免在回滚时清除working tree。 三、git checkout的用法 从上图可知,git checkout -- files 把文件从暂存区域复制到工作目...
git checkout master --soft 缓存区和工作目录都不会被改变 --mixed 默认选项。缓存区和你指定的提交同步,但工作目录不受影响 --hard 缓存区和工作目录都同步到你指定的提交 git reset HEAD~1 介绍:撤销commit history 中的内容 虽然在调用时加上 --hard选项可以令git reset成为一个危险的命令(译注:可能导致...
撤回已经 commit 未 push 的文件 撤回已经 push 的文件 对应的IDEA操作 git checkout仅合并另外一个分支的部分内容 IDEA忽略文件,防止git提交不想提交的文件 GIT FORK后拉取原项目最新提交 暂存修改 暂存修改git stash 重新应用暂存的修改 对应的IDEA操作暂存 git 从某一个提交历史版本号中切出一个新的分支 git常...