Gần đây tôi đã sửa chữa repo git của mình và muốn tìm hiểu xem có biện pháp khắc phục nào không.Tạo chi nhánh git, và hoàn nguyên về trạng thái ngược dòng
Thiết lập của tôi là thế này:
Central repo on github.
Personal repo on github (which is a fork of Central)
+Central is setup as remote (upstream/master)
+Master branch (origin/master)
+Feature branch (origin/feature)
công việc của tôi là như thế này:
Need to fix something in Central:
1. checkout Master
2. Make changes
3. Pull from upstream/master and merge
3. Commit, push to upstream/master
Need to work on a New Feature:
1. Checkout/Create Feature branch
2. Work work work
3. Pull from upstream/master and merge
4. Commit, push to upstream/master
Bằng cách này tôi luôn luôn có một trạng thái nguyên sơ của Trung ương trong ngành Thạc sĩ của tôi.
Bây giờ những gì tôi đã làm đã bắt đầu làm việc trên nhánh chính thay thế. Vì vậy, tôi đã thực hiện thay đổi cho chủ nhân của tôi và không còn có thể chi nhánh từ nó để có được một bản sao của Trung ương. Bất cứ khi nào tôi cần phải thực hiện và đẩy một số bản sửa lỗi cho Trung ương, tôi phải sao chép miền Trung vào một thư mục khác và làm việc từ đó.
Câu hỏi của tôi: Có cách nào để "hoàn nguyên" chủ nhân của tôi thành một bản sao giống hệt Trung ương hay không, trong khi di chuyển tất cả những thay đổi tôi đã thực hiện trên Master của mình sang một nhánh khác (nói tính năng)?
Tôi biết điều đó gây nhầm lẫn và tôi sẽ đánh giá cao bất kỳ trợ giúp nào. Tôi sẽ làm rõ nếu có gì không rõ ràng.
Cảm ơn bạn đã theo dõi giải pháp của mình. Tôi chỉ đang cố gắng phân loại tình huống của bạn - vui vì bạn đã tìm ra nó. –
Tôi nghĩ thay vì lệnh thứ 4 của bạn ở đó, "git push old_master origin old_master", bạn nên có "git push origin old_master"? Tôi hy vọng điều đó đúng, bởi vì đó là những gì dường như làm việc cho tôi. Nếu không, tôi nhận được thông báo lỗi: "fatal: 'old_master' có vẻ như không phải là kho git" –
Tôi không thể "git push origin: master". Bài đăng này giải thích cách giải quyết vấn đề đó. http://matthew-brett.github.com/pydagogue/gh_delete_master.html Điều quan trọng là, hãy đảm bảo rằng chính không phải là nhánh mặc định trên github. Một chính sách tốt nếu bạn đang làm việc trên một repo chia hai. – pduey