git刪除遠(yuǎn)程分支上的文件夾或文件:
前提是沒(méi)有直接push到dev或master的權(quán)限。
- 先在bitbucket上新建一個(gè)分支,名叫newdev。
2.在本地拉取newdev分支,編輯gitignore文件,將不需要的目錄或文件加入到其中例如:
.idea
qy_hplus_sys_bmc.iml
target/
.settings
.classpath
.project - 提交并push到遠(yuǎn)程的newdev分支
4.創(chuàng)建從newdev到dev的拉請(qǐng)求,合并拉請(qǐng)求以后,發(fā)現(xiàn)dev上的不需要的文件已經(jīng)被刪除了。
5.刪除剛才新建的newdev分支。
git刪除.idea文件的提交
git ignore:
git rm --cached -r *.iml
git rm --cached -r .idea
git add .gitignore
git commit -m '(gitignore commit and remove .idea)'
git push origin dev
git回退:
可以通過(guò)reflog來(lái)進(jìn)行恢復(fù),前提是丟失的分支或commit信息沒(méi)有被git gc清除
一般情況下,gc對(duì)那些無(wú)用的object會(huì)保留很長(zhǎng)時(shí)間后才清除的
可以使用git reflog show或git log -g命令來(lái)看到所有的操作日志
恢復(fù)的過(guò)程很簡(jiǎn)單:
通過(guò)git log -g命令來(lái)找到需要恢復(fù)的信息對(duì)應(yīng)的commitid,可以通過(guò)提交的時(shí)間和日期來(lái)辨別,找到執(zhí)行reset --hard之前的那個(gè)commit對(duì)應(yīng)的commitid