git檢查與放棄本地的代碼修改情況
git diff? 可以查看當(dāng)前沒有add 的內(nèi)容修改(不在緩沖區(qū)的文件變化)
git diff --cached查看已經(jīng)add但沒有commit 的改動(dòng)(在緩沖區(qū)的文件變化)
git diff HEAD 是上面兩條命令的合并
git?checkout?.?#本地所有修改的楼熄。沒有的提交的子漩,都返回到原來的狀態(tài)
git?stash?#把所有沒有提交的修改暫存到stash里面。可用git?stash?pop回復(fù)端蛆。
git?reset?--hard?HASH?#返回到某個(gè)節(jié)點(diǎn)刽漂,不保留修改眨层。
git?reset?--soft?HASH?#返回到某個(gè)節(jié)點(diǎn)锁右。保留修改
git add 添加 多余文件
這樣的錯(cuò)誤是由于, 有的時(shí)候 可能
git? add? .? (空格+ 點(diǎn))? 表示當(dāng)前目錄所有文件很魂,不小心就會(huì)提交其他文件
git add? 如果添加了錯(cuò)誤的文件的話
撤銷操作
git status 先看一下add 中的文件
git reset HEAD? 如果后面什么都不跟的話? 就是上一次add 里面的全部撤銷了
git reset HEAD? XXX/XXX/XXX.java? ? 就是對(duì)某個(gè)文件進(jìn)行撤銷了
2. git commit? 錯(cuò)誤
如果不小心 弄錯(cuò)了? git add后 扎酷, 又? git commit 了。
先使用
git log 查看節(jié)點(diǎn)
commit xxxxxxxxxxxxxxxxxxxxxxxxxx
Merge:
Author:
Date:
然后
git reset? commit_id
over
PS:還沒有 push? 也就是? repo? upload 的時(shí)候
git reset? commit_id (回退到上一個(gè) 提交的節(jié)點(diǎn)? 代碼還是原來你修改的)
git reset –hard commit_id? (回退到上一個(gè)commit節(jié)點(diǎn)遏匆, 代碼也發(fā)生了改變法挨,變成上一次的)
3.如果要是 提交了以后,可以使用 git revert
還原已經(jīng)提交的修改
此次操作之前和之后的commit和history都會(huì)保留幅聘,并且把這次撤銷作為一次最新的提交
git revert HEAD? ? ? ? ? ? ? ? ? 撤銷前一次 commit
git revert HEAD^? ? ? ? ? ? ? 撤銷前前一次 commit
git revert commit-id (撤銷指定的版本凡纳,撤銷也會(huì)作為一次提交進(jìn)行保存)
git revert是提交一個(gè)新的版本,將需要revert的版本的內(nèi)容再反向修改回去帝蒿,版本會(huì)遞增荐糜,不影響之前提交的內(nèi)容。