做暧暧网站在线,网红营销的优势在哪里,中国铁工建设有限公司网站,seo好seo2019独角兽企业重金招聘Python工程师标准 1.版本回退 我们先看一下从项目开始到现在做了什么操作。 [cpp] view plaincopy #总共是4个操作 $ git log --prettyoneline c5c83cfcdb25c67a5c66b4fe3844d0ea912830ec remove JackyData03 a25c58804cb3f4045564fc0e… 2019独角兽企业重金招聘Python工程师标准 1.版本回退 我们先看一下从项目开始到现在做了什么操作。 [cpp] view plaincopy #总共是4个操作 $ git log --prettyoneline c5c83cfcdb25c67a5c66b4fe3844d0ea912830ec remove JackyData03 a25c58804cb3f4045564fc0ec6a4e6eb4dae7072 amend modify JackyData02 cba8800f2daaf4075a506b6d763798ea15ba11cc modify JackyData01 aea0365712908805bc28540b4db9fd2f15360a8b init AddFiles 现在我后悔了不想移除JackyData03怎么办 git reset用于版本回退首先我们必须先知道当前版本是哪个git用HEAD来表示当前版本。HEAD^表示上一个版本HEAD^^表示上上个版本HEAD~100表示往前100个版本。 [cpp] view plaincopy #回退到上一个版本 $ git reset --hard HEAD^ HEAD is now at a25c588 amend modify JackyData02 现在看看JackyGit/JackyData03是不是又回来了。 2.版本选择 这时我们再看看操作日记。 [cpp] view plaincopy #只剩3个操作了移除JackyData03的操作不见了 $ git log --prettyoneline a25c58804cb3f4045564fc0ec6a4e6eb4dae7072 amend modify JackyData02 cba8800f2daaf4075a506b6d763798ea15ba11cc modify JackyData01 aea0365712908805bc28540b4db9fd2f15360a8b init AddFiles 现在我又后悔了想回到JackyData03被移除的状态。 1如果git bash没被关掉向前滚动找到 [cpp] view plaincopy #移除JackyData03文件的版本号 c5c83cfcdb25c67a5c66b4fe3844d0ea912830ec remove JackyData03 有了这个版本号我们就可以这么做 [cpp] view plaincopy #还是使用reset直接选择要切换的版本号 $ git reset --hard c5c83c HEAD is now at c5c83cf remove JackyData03 当然版本号可用不用完全输入输入前几个git就会帮你找到也不能太少太少可能会找出多个。 可以看到提示HEAD现在处在c5c83c这个版本位置。 2如果git bash被关掉了找不到版本号了怎么办? git reflog可以显示每一次的操作记录。 [cpp] view plaincopy $ git reflog c5c83cf HEAD{0}: reset: moving to c5c83c a25c588 HEAD{1}: reset: moving to HEAD^ c5c83cf HEAD{2}: commit: remove JackyData03 a25c588 HEAD{3}: commit (amend): amend modify JackyData02 a5f6601 HEAD{4}: commit: modify JackyData02 cba8800 HEAD{5}: commit: modify JackyData01 aea0365 HEAD{6}: commit (initial): init AddFiles 然后再使用reset命令就可以随意选择版本了。 3.撤销修改 3.1.工作区 再修改点东西。 [cpp] view plaincopy #修改JackyData01内容 $ echo GoodBye SVN Jackydata01 看一下状态 [cpp] view plaincopy #看一下状态Jackydata01在工作区被修改了红色高亮 $ git status # On branch master # Changes not staged for commit: # (use git add file... to update what will be committed) # (use git checkout -- file... to discard changes in working directory) # # modified: Jackydata01 # no changes added to commit (use git add and/or git commit -a) 现在我后悔了最后一次想要撤销删除怎么办 git checkout --file可以撤销工作区的修改 [cpp] view plaincopy #撤销JAckydata01的改动 $ git checkout -- Jackydata01 #看一下当前Git仓库的状态干净的 $ git status # On branch master nothing to commit, working directory clean 3.2.暂存区 再改Jackydata01的内容。 [cpp] view plaincopy #修改JackyData01内容 $ echo GoodBye SVN JackyData01 这次手太快了直接把修改的内容add到暂存区了。 [cpp] view plaincopy #修改内容add到暂存区 $ git add Jackydata01 #看一下状态JackyData01在被修改了并add到暂存区绿色高亮 yf005yf005 /d/jackygit (master) $ git status # On branch master # Changes to be committed: # (use git reset HEAD file... to unstage) # # modified: Jackydata01 # 嗯没错你猜对了。我后悔了节操呢这时要怎么办 这时直接使用git checkout --file是无效的。 必须先使用git reset HEAD file把暂存区的修改撤回到工作区的修改。 [cpp] view plaincopy #撤回到工作区的修改 $ git reset HEAD Jackydata01 Unstaged changes after reset: M Jackydata01 #看一下当前状态未添加到暂存区红色高亮 $ git status # On branch master # Changes not staged for commit: # (use git add file... to update what will be committed) # (use git checkout -- file... to discard changes in working directory) # # modified: Jackydata01 # no changes added to commit (use git add and/or git commit -a) 这个时候重复3.1.工作区内的撤销修改即可。 3.3.已提交到版本库 如果已经提交到版本库那么使用1.版本回退功能吧。 3.4.其他撤销指令 其他撤销指令诸如git clean和git revert请自行尝试。 转载于:https://my.oschina.net/xiaoxiao23/blog/190519