În această postare, vom vedea cum să ștergeți comiterile dintr-o sucursală Git.,et
ideea aici este de a forța reset directorul de lucru pentru a elimina toate se angajează, care vin după specificată a comis-o și atunci, o forță de apăsare:
1
|
git reset … e greu
|
puteți face referire la o comite prin origine, sau folosind întregul său SHA-1 hash, sau prin furnizarea parțială hash care ar trebui să fie de cel puțin 4 caractere și lipsite de ambiguitate.,
1
2
3
4
|
# Aruncați primele 4 comite
git reset –greu de CAP~4
|
Dacă cei care se angajează sunt prezente în depozitul de la distanță, veți avea nevoie pentru a forța de împingere hard reset la depozitul de la distanță.,
1
2
3
4
|
# Force Push updates to the remote repository
git push
|
Here’s a live example:
Note, that any changes made in the working directory since the last commit are silently discarded., Pentru a evita aceasta, stash dvs. de modificări locale în primul rând prin apel git-stash
comandă care, la rândul său, de asemenea, a reveni la directorul de lucru la HEAD
revizuire după salvarea modificări locale. git reset --hard HEAD
este adesea folosit pentru a șterge toate modificările neangajate pentru a se potrivi cu cea mai recentă comitere din Directorul de lucru.în cazul în care doriți să vă păstrați munca și să anulați doar comiterea, puteți utiliza opțiunea --soft
.,
1
|
git reset –soft
|
This is demonstrated below:
git revert
It is not a good idea to do a force push on a public or a shared repository; do a git-revert
instead., Se creează o nouă comitere care anulează toate modificările făcute în comiterea specificată, apoi se aplică sucursalei curente.,iv id=”e6e72cc751″>
Here’s a live example:
Interactive Rebasing
Another plausible way of removing comments is using git-rebase
command.,
1
|
git rebazare -i
|
Executa comanda de mai sus va deschide un editor cu care se angajează în această ramură, care vin după specificată a comis-o. Pentru a renunța la o comitere, pur și simplu înlocuiți comanda „pick” cu „drop” și închideți editorul. De asemenea, puteți șterge doar linia de potrivire.,
următoarea comandă va elimina o întreagă comite e78d8b1
într-un du-te folosind --rebase-merges
modul cu --onto
opțiune.,
1
|
git rebase -r –onto e78d8b1^ e78d8b1
|
(20 votes, average: 5.,00 din 5)
Vă mulțumim pentru lectură.