2017-05-10 1 views
0

Es folgt die genaue Szenario in meinem Repository:Wie erhalte ich ein bestimmtes Commit eines bestimmten Ordners aus einem Git-Repository, während ich den Rest der Ordner als letztes halte?

Folders:

  • Respository
    • Projekt A
    • Projekt B

Entwickler auf beide arbeiten die Projekte. Nach einiger Zeit stellten wir fest, dass die Entwickler in Projekt B ungewollten und unerwarteten Code geschrieben haben. Jetzt müssen wir Project B auf ein bestimmtes Commit zurücksetzen (z. B. "ai298349y"), und von den Entwicklern wird erwartet, dass sie daran arbeiten Wir möchten, dass Projekt A in den aktuellen Zustand versetzt wird (dh das letzte Festschreiben)

Wie kann ich dies in Git erreichen?

Ich benutze Git-Erweiterung in Visual Studio. Kann mir bitte jemand vorschlagen?

Antwort

2

Nun, im Grunde sollten Sie verschiedene Git-Repositories für verschiedene Projekte verwenden und nicht dem SVN-Wahnsinn folgen, mehrere Repositories in einen SVN-Stamm zu stopfen.

Sie können Projekt B nicht unabhängig zurücksetzen, indem Sie die fehlerhaften Commits jetzt rückgängig machen, ohne das Projekt A zu beeinträchtigen, wenn dies das wäre, wonach Sie gesucht haben.

Was Sie tun sollten, ist git rm -rf projectB && git checkout ai298349y -- projectB && git add projectB && git commit -m 'revert project B to good state', die einfach zu einem neuen Commit führen wird, das die fehlerhaften Änderungen in ProjectB mit einem neuen Commit rückgängig macht.

Verwandte Themen