git 选项 描述-f --force,强制操作-r --remote,远程-a --all,全部-d --delete,删除-D --delete --force,-d 和 -D 组合,表示强制删除-m --move,移动或重命名-M --move --force,-m 和 -M 组合,表示强制重命名,即使新的分支名称已经存在 6. merge 合并分支冲突解决 冲突发生,大概率是你和别人...
需要将冲突的文件 resolve 掉 git add -u, git commit 之后才能继续操作 放弃本地文件的修改,git reset --hard FETCH_HEAD,回到上次成功pull之后的【谨慎使用,如果需要使用,请先保存本地 local 修改的部分内容】 FETCH_HEAD 表示上一次成功 git pull 之后形成的 commit 记录点。 git merge 会形成 MERGE-HEAD(...
move HEAD to specific commit reference, index and staging are untouched. git reset --hard unstage files AND undo any changes in the working directory since last commit. 使用git reset —hard HEAD进行reset,即上次提交之后,所有staged的改动和工作目录的改动都会消失,还原到上次提交的状态. 这里的HEAD可以...
等待添加到HEAD中的文件(use"git reset HEAD <file>..."to unstage)Changes not stagedforcommit:# 修改的文件,但是没有添加到暂存区(use"git add <file>..."to update what will be committed)(use"git restore <file>...
你可以认为 HEAD(大写)是"current branch"(当下的分支)。当你用git checkout切换分支的时候,HEAD 修订版本重新指向新的分支。有的时候HEAD会指向一个没有分支名字的修订版本,这种情况叫”detached HEAD“ head(小写)是commit对象的引用,每个head都有一个名字(分支名字或者标签名字等等),但是默认情况下,每个叫master...
(my-branch*)$ git reset --soft HEAD@{1} 这只能在没有推送之前有用. 如果你已经推了, 唯一安全能做的是 git revert SHAofBadCommit , 那会创建一个新的提交(commit)用于撤消前一个提交的所有变化(changes);或者, 如果你推的这个分支是rebase-safe的 (例如:其它开发者不会从这个分支拉), 只需要使用 ...
上面的 reflog 展示了从 master 分支签出 (checkout) 到 2.2 分支,然后再签回。那里,还有一个硬重置 (hard reset) 到一个较旧的提交。最新的动作出现在最上面以HEAD@{0}标识. 如果事实证明你不小心回移 (move back) 了提交(commit), reflog 会包含你不小心回移前 master 上指向的提交(0254ea7)。
(my-branch*)$ git reset --soft HEAD@{1} 这只能在没有推送之前有用. 如果你已经推了, 唯一安全能做的是 git revert SHAofBadCommit, 那会创建一个新的提交(commit)用于撤消前一个提交的所有变化(changes);或者, 如果你推的这个分支是rebase-safe的 (例如:其它开发者不会从这个分支拉), 只需要使用 gi...
(my-branch*)$ git reset--softHEAD@{1} 这只能在没有推送之前有用. 如果你已经推了, 唯一安全能做的是git revert SHAofBadCommit, 那会创建一个新的提交(commit)用于撤消前一个提交的所有变化(changes);或者, 如果你推的这个分支是rebase-safe的 (例如:其它开发者不会从这个分支拉), 只需要使用git push...
$gitresetHEAD^--hard $gitpush-f[remote][branch] 如果你还没有推到远程, 把Git重置(reset)到你最后一次提交前的状态就可以了(同时保存暂存的变化): (my-branch*)$gitreset--softHEAD@{1} 这只能在没有推送之前有用. 如果你已经推了, 唯一安全能做的是git revert SHAofBadCommit, 那会创建一个新的提...