Cách thực hiện một cái gì đó như git pull
trong thư viện python dulwich.Làm thế nào để kéo từ xa bằng cách sử dụng dulwich?
5
A
Trả lời
5
tôi đã không sử dụng Dulwich, nhưng từ these doc's, có thể là một cái gì đó như:
from dulwich.repo import Repo
from dulwich.client import HttpGitClient
local = Repo.init("local", mkdir=True)
client = HttpGitClient('http://github.com/adammorris/')
remote_refs = client.fetch("history.js.git",local)
local["HEAD"] = remote_refs["refs/heads/master"]
Tại thời điểm này, nó không tải các tập tin, nhưng tôi có thể làm "git checkout" từ con đường địa phương và cập nhật tệp.
Ngoài ra, thấy những:
1
Full ví dụ. Hoạt động với Bitbucket
.
from dulwich import index
from dulwich.client import HttpGitClient
from dulwich.repo import Repo
local_repo = Repo.init(LOCAL_FOLDER, mkdir=True)
remote_repo = HttpGitClient(REMOTE_URL, username=USERNAME, password=PASSWORD)
remote_refs = remote_repo.fetch(REMOTE_URL, local_repo)
local_repo[b"HEAD"] = remote_refs[b"refs/heads/master"]
index_file = local_repo.index_path()
tree = local_repo[b"HEAD"].tree
index.build_index_from_tree(local_repo.path, index_file, local_repo.object_store, tree)
Thay thế LOCAL_FOLDER, REMOTE_URL, USERNAME, PASSWORD bằng dữ liệu của bạn.
Các vấn đề liên quan
- 1. Làm thế nào tôi có thể kéo một kho lưu trữ từ xa bằng GitPython?
- 2. Làm thế nào để POST dữ liệu JSON để API từ xa bằng cách sử dụng Coldfusion CFHTTP
- 3. Làm thế nào để Flick bằng cách sử dụng monkeyrunner? không chỉ Kéo
- 4. Giải quyết xung đột bằng cách sử dụng các thay đổi từ xa khi kéo từ Git remote
- 5. Làm thế nào để kéo một nhóm svg bằng cách sử dụng hành vi kéo d3.js?
- 6. Làm thế nào để nhập thư viện từ xa trong Android Studio bằng cách sử dụng gradle?
- 7. Làm thế nào để biết một thư mục được gắn từ xa bằng cách sử dụng Java
- 8. Làm thế nào để sử dụng MySQL dump từ một máy từ xa
- 9. Đọc tệp .csv từ xa bằng cách sử dụng opencsv
- 10. Gỡ lỗi từ xa Weblogic bằng cách sử dụng eclipse
- 11. Sử dụng Eclipse để gỡ rối từ xa bằng gdbserver
- 12. Làm cách nào để có được các nhánh git từ xa bằng Node.js?
- 13. Làm cách nào để sử dụng GVIM để chỉnh sửa tệp từ xa?
- 14. Làm cách nào để triển khai tab có thể kéo bằng cách sử dụng Java Swing?
- 15. Làm thế nào để từ xa thực thi một kịch bản từ xa cao trong PowerShell
- 16. Làm cách nào để thiết lập .git/config của tôi để có thể đẩy/kéo từ nhiều kho từ xa?
- 17. Làm cách nào để phát triển từ xa với Emacs?
- 18. eclipse xung đột thủy thủ sau khi kéo: làm thế nào để chọn tập tin từ xa
- 19. Làm thế nào để thay thế '/' bằng '\\' bằng cách sử dụng thay thế QString()?
- 20. Làm thế nào để xóa một nhánh trong kho lưu trữ từ xa bằng EGIT?
- 21. Làm thế nào để gỡ lỗi từ xa Nút JS bằng PHPStorm?
- 22. Tôi làm cách nào để sử dụng Git với nhiều kho lưu trữ từ xa?
- 23. Sử dụng Git làm cách nào để tìm các thay đổi giữa địa phương và từ xa
- 24. Trong git, làm cách nào để kiểm tra các nhánh từ xa của kho từ xa?
- 25. Làm thế nào để thiết lập Eclipse để gỡ lỗi C từ xa bằng gdbserver?
- 26. Làm thế nào để kéo plugin từ github trên heroku?
- 27. Làm thế nào để thêm từ xa với Git Gui?
- 28. Làm thế nào để kéo chuỗi từ gói trong onResume()?
- 29. Làm thế nào để thay thế một Widget bằng cách sử dụng khác bằng cách sử dụng Qt?
- 30. Làm thế nào để gọi một Webservice PHP từ Android bằng cách sử dụng KSOAP2?
Có, hàm tìm nạp sẽ kéo vào một tệp gói trong thư mục '.git'. Và tôi không biết cách kết hợp nó vào nhánh chính. – Determinant
Có vẻ như hàm fetch() nên nhập gói vào cùng một chi nhánh làm repo. Có thể sử dụng do_commit() để kết hợp nó vào nhánh chính không? http://stackoverflow.com/questions/6904734/in-dulwich-how-do-i-commit-to-a-branch-instead-of-to-head –
Tôi không sợ ... – Determinant