Cara membatalkan komit dalam git: 1. Gunakan arahan "git rm" untuk membuat asal; 4. Gunakan arahan "git revert" Undo.
Persekitaran pengendalian tutorial ini: sistem Windows 7, versi Git 2.30.0, komputer Dell G3.
Kadangkala kami menghantar kod yang salah dan perlu membatalkan rekod komitmen tertentu Berikut ialah beberapa kaedah:
1 Jika komit yang perlu dipadamkan ialah satu atau lebih fail, anda boleh melakukan operasi berikut.
1. Jika fail yang dihantar ke gudang perlu dipadam, anda boleh menggunakan perintah
:git rm
git rm <file> // 从工作区和暂存区删除某个文件 git commit -m "" // 再次提交到仓库
git rm --cached <file>
git checkout
git checkout -- <file>
git rm
Gunakan
rm
5,
mempunyai fungsi yang serupa, git add
git rm
tetapi
. git add
git rm
2 GitHub Membatalkan KomitJika anda perlu memadamkan bukan sahaja fail, tetapi kod bersilang, maka terdapat yang berikut Di sana ialah tiga cara untuk memadamkan komit.
1. git reset
git reset
git reset --soft
git reset --hard
git status
Jika komit yang perlu dipadamkan adalah yang terkini, anda boleh menggunakan perintah
untuk melancarkan semula kod kepada keadaan sebelumnya commit, tetapi ia mesti Buat salinan sandaran kod sedia ada anda, jika tidak, perubahan akan hilang selepas rollback. Operasi khusus adalah seperti berikut:git reset
git log // 查询要回滚的 commit_id git reset --hard commit_id // HEAD 就会指向此次的提交记录 git push origin HEAD --force // 强制推送到远端
Jika anda mendapati anda menyalin commit_id yang salah selepas melancarkan semula kod atau memadam rekod commit secara tidak sengaja, anda juga boleh memulihkannya melalui kod di bawah :
git relog // 复制要恢复操作的前面的 hash 值 git reset --hard hash // 将 hash 换成要恢复的历史记录的 hash 值
git reset
git pull
git rebase
Jika komit tertentu di tengah perlu dipadamkan, anda boleh menggunakan arahan
Kaedahnya seperti berikut: git rebase
git log // 查找要删除的前一次提交的 commit_id git rebase -i commit_id // 将 commit_id 替换成复制的值 进入 Vim 编辑模式,将要删除的 commit 前面的 `pick` 改成 `drop` 保存并退出 Vim
2) Selesaikan konflik
Konflik asas semula berkemungkinan besar berlaku apabila arahan ini dilaksanakan, yang boleh diselesaikan dengan kaedah berikut:
git diff // 查看冲突内容 // 手动解决冲突(冲突位置已在文件中标明) git add <file> 或 git add -A // 添加 git rebase --continue // 继续 rebase // 若还在 rebase 状态,则重复 2、3、4,直至 rebase 完成出现 applying 字样 git push
git revert
Penyerahan sebelumnya masih kekal dalam log git, dan pembatalan ini akan dianggap sebagai penyerahan baharu. git revert
git revert -m
Apabila anda ingin membuat asal penyerahan perantaraan, menggunakan
juga merupakan pilihan yang baik:git revert
git log // 查找需要撤销的 commit_id git revert commit_id // 撤销这次提交
Jika penyerahan ini ialah nod gabungan, anda perlu menambah perintah
:-m
git revert commit_id -m 1 // 第一个提交点 // 手动解决冲突 git add -A git commit -m "" git revert commit_id -m 2 // 第二个提交点 // 重复 2,3,4 git push
Atas ialah kandungan terperinci Bagaimana untuk membatalkan komit dalam git. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!