Tôi đang sử dụng git-svn
và tôi muốn cập nhật SVN HEAD mới nhất.Làm cách nào để lấy SVN HEAD mới nhất trong git-svn?
Khi tôi gõ git pull
nó nói:
fatal: No remote repository specified. Please, specify either a URL or a
remote name from which new revisions should be fetched.
tôi đọc here rằng tôi nên làm điều gì đó như:
git checkout -b real-trunk remotes/trunk
Nhưng tôi không hiểu các lệnh. remote-trunk
là gì? Trong mọi trường hợp, git
đưa ra một lỗi:
fatal: git checkout: updating paths is incompatible with switching branches.
Did you intend to checkout 'remotes/trunk' which can not be resolved as commit?
Đây là tôi .git/config
:
$ cat .git/config
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
[svn-remote "svn"]
url = http://name.xyz.com/svn/trunk/project
fetch = :refs/remotes/git-svn
Ngoài ra, bất cứ ai có thể cho tôi biết làm thế nào để phục hồi tất cả các thay đổi mà tôi thực hiện trong thanh toán git của tôi? Tôi muốn trở lại phiên bản SVN HEAD mới.
Cảm ơn! Bây giờ một vấn đề nữa: Tôi có một vài sửa đổi cục bộ mà tôi muốn hoàn nguyên trước. Bởi vì nếu tôi làm 'git svn rebase' nó nói: ' file.cpp: cần cập nhật ' 'update-index --refresh: lệnh trả về lỗi: 1' – Frank
Bạn luôn luôn phải có một cây làm việc sạch trước khi" git svn rebase ", đó là do thiết kế. Thông thường, tôi cam kết các thay đổi cục bộ của mình và chỉ sau đó mới nhận được các thay đổi. Sau đó, tôi có thể sửa đổi cam kết cục bộ của mình (bằng "git commit --amend"). Một số người sử dụng "git stash" cho điều đó. –
Cảm ơn! Điều đó hiệu quả. – Frank