2012-02-13 35 views
8

Tôi không chắc mình đã vào trạng thái này như thế nào, nhưng chi nhánh master trên repo git-svn địa phương của tôi dường như trỏ đến nhánh UAT từ xa.Bổ nhiệm chi nhánh git-svn trở lại thân cây

git status 
# On branch master nothing to commit (working directory clean) 
git svn dcommit Committing to https://svn...com/MyRepo/branches/UAT ... 

làm cách nào để khắc phục sự cố này?

+0

Nó 'd giúp đỡ để biết chính xác những gì bạn đang cố gắng để "sửa chữa". Không có gì sai khi có nhánh chủ cục bộ được dựa trên một nhánh từ xa; thực sự đó là cách tôi thường vận hành kho lưu trữ của mình. –

Trả lời

5

I nghĩ rằng những gì bạn đang cố gắng khắc phục là nhánh "master" cục bộ của bạn dựa trên nhánh UAC từ xa, trái với thân từ xa. Nếu bạn đang hạnh phúc để mất cam kết của bạn, bạn chỉ có thể chạy dưới đây, mà sẽ kiểm tra thân cây và sau đó di chuyển các chi nhánh chủ đến điểm hiện tại của bạn.

git checkout remotes/trunk 
git checkout -B master 

Nếu bạn không muốn mất cam kết, git rebase là bạn của bạn. Sử dụng dưới đây:

git rebase $(git merge-base remotes/UAC master) master --onto remotes/trunk 

này hoạt động ra phụ huynh chung của ngành UAC và chi nhánh tổng thể của địa phương, làm cho tất cả các cam kết từ đó đến đỉnh của chi nhánh tổng thể vào thân cây, sau đó di chuyển các chi nhánh tổng thể để chỉ vào đó.

+0

Tôi đã nhận được bản thân mình trong tình huống tương tự bằng cách nào đó (sáp nhập các chi nhánh sai vào tổng thể?) Và giải pháp 'checkout' cố định nó cho tôi. Sẽ chấp nhận câu trả lời này nếu tôi có thể. – abeger

0

Một cách để đổi tên nhánh chính hiện tại và thanh toán xuất xứ/thân cây thành nhánh chính (mới).

git branch -m master uat 
git checkout origin/trunk master 

Nếu bạn cần bạn có thể giờ đây anh đào-pic cam kết từ các chi nhánh uac để làm chủ (Tôi sẽ sử dụng gitk --all để giúp tôi với điều này)

Một chút vấn đề phức tạp hơn: Rename master branch for both local and remote Git repositories

Các vấn đề liên quan