git刪除遠(yuǎn)程分支上的文件夾或文件:
前提是沒有直接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回退:
可以通過reflog來進(jìn)行恢復(fù)迷殿,前提是丟失的分支或commit信息沒有被git gc清除
一般情況下儿礼,gc對(duì)那些無用的object會(huì)保留很長(zhǎng)時(shí)間后才清除的
可以使用git reflog show或git log -g命令來看到所有的操作日志
恢復(fù)的過程很簡(jiǎn)單:
通過git log -g命令來找到需要恢復(fù)的信息對(duì)應(yīng)的commitid,可以通過提交的時(shí)間和日期來辨別,找到執(zhí)行reset --hard之前的那個(gè)commit對(duì)應(yīng)的commitid