Câu trả lời:
Một số công cụ gần đây đã được thêm vào wiki Git :
git-ftp của René Moser là một tập lệnh shell đơn giản để thực hiện FTP theo cách Git. Sử dụng git-ftp.sh để chỉ tải lên các tệp được theo dõi Git lên máy chủ FTP, đã thay đổi kể từ lần tải lên cuối cùng. Điều này tiết kiệm thời gian và băng thông. Ngay cả khi bạn chơi với các nhánh khác nhau, git-ftp.sh vẫn biết tệp nào khác. Không có máy khách FTP thông thường nào có thể làm điều đó.
git-ftp của Edward Z. Yang là một tập lệnh đơn giản được viết bằng python để tải lên các tệp trong kho Git qua FTP, chỉ chuyển các tệp mới và xóa các tệp cũ.
Nếu bạn thích GUI, hãy sử dụng SourceTree, bạn có thể dễ dàng thiết lập Hành động tùy chỉnh sử dụng git-ftp được đề cập ở trên. Mô tả ngắn gọn về thiết lập (dành cho Mac) tại Đẩy kho lưu trữ Git sang FTP
Tôi đã tìm thấy PHPloy một công cụ tuyệt vời để gửi các cam kết Git của bạn đến các máy chủ từ xa qua FTP. Nó hoạt động từ dòng lệnh và được viết bằng PHP (và thậm chí phát hiện các thay đổi trong các mô hình con).
https://github.com/banago/PHPloy
git commit ...
phploy -s staging
phploy -s production
Làm xong!
(Tuyên bố miễn trừ trách nhiệm: sau khi sử dụng một thời gian, giờ đây tôi đã đóng góp một số bản vá và cải tiến mã, làm cho nó tương thích với Windows.)
Nếu bạn đang sử dụng máy Mac và có Truyền, tôi khuyên bạn nên sử dụng tập lệnh git-tranmit sau ( https://gist.github.com/379750 ). Nó sử dụng DockSend để chỉ gửi các tệp được cập nhật mới nhất. Nếu bạn không quen thuộc với DockSend, hãy xem http://www.panic.com/blog/2010/11/15-secrets-of-transmit/ .
Thiết lập:
Đó không phải là những gì git dành cho, nói đúng ra. Tuy nhiên, nếu nguồn của bạn là thứ không cần biên dịch hoặc xử lý, giả sử một trang web chứa toàn bộ tệp html và javascript và tương tự, bạn có thể sao chép repo trên máy chủ web của mình và sử dụng git pull
từ máy chủ để cập nhật -đến ngày. Lưu ý, tôi sẽ cấu hình máy chủ web của bạn để ẩn thư mục git và như vậy. Và đó chỉ là khởi đầu của mối quan tâm bảo mật.
Nếu bạn có bất kỳ loại biên dịch hoặc xử lý nào, bạn nên bắt đầu xem xét Ant , Maven , BuildR , SBT , v.v.
Đây là một tập lệnh trong PHP để tải lên gần như tự động git-diff lên máy chủ FTP:
Miễn phí cho một dự án và nó hoạt động rất rất tốt.
Có tập lệnh Ruby ở đây - Ruby git-triển khai qua FTP hoặc SSH chỉ tải lên các tệp đã thay đổi trong git repo qua FTP hoặc SSH.
Như đã đề cập trong một câu trả lời khác, đây là tập lệnh git-ftp.py của Python thực hiện một điều tương tự.
Và đây là phiên bản shell shell của git-ftp .
Ngoài ra còn có một dự án đá quý Ruby có tên git-triển khai cho phép bạn thiết lập một triển khai tùy chỉnh thông qua một điều khiển từ xa bằng cách sử dụng git push
lệnh, giống như các dịch vụ Heroku và Azure. Đối với điều này, bạn có thể cần phải viết các phương thức tùy chỉnh để triển khai qua FTP và tôi nghĩ rằng nó giả định rằng bạn có quyền truy cập SSH vào máy chủ sản xuất của mình.
Nếu bạn đang đưa mã vào sản xuất, tôi khuyên bạn nên sử dụng "trình cài đặt", chẳng hạn như gói RPM để cài đặt mã của bạn. Bằng cách đó, nó sẽ được đóng dấu phiên bản và bạn sẽ có thể tận dụng gói trình cài đặt để hỗ trợ cập nhật mã sản xuất. Git không thực sự được thiết kế để hỗ trợ cài đặt sản xuất, nó nhằm theo dõi các thay đổi đối với chính mã.
Trong mọi trường hợp, với .RPM (hoặc EXE hoặc bất cứ điều gì) được xây dựng, bạn có thể chỉ cần FTP nó đến hệ thống sản xuất và cài đặt nó như bất kỳ gói nào khác.
Bạn luôn có thể thử gắn ftp vào một thư mục cục bộ bằng cách sử dụng http://linuxconfig.org/mount-remote-ftp-directory-host-locally-into-linux-filesystem .
Sau đó, bạn có thể sử dụng nó theo cách tương tự như thế này .
Tôi đã đấu tranh rất nhiều để tìm ra điều này. Tôi đã tìm ra một cách dễ dàng để thực hiện điều này từ nhiều nguồn khác nhau ( git-ftpINSTALL , git-ftpUPLOAD , git-ftpIssue , git-ftpPUSH ). Bạn có thể đọc để tham khảo nhưng không cần vì tôi đã đề cập từng bước quy trình dưới đây.
Điều đầu tiên: Cài đặt git và curl bằng brew trên MAC OS
brew install git
brew install curl --with-ssl --with-libssh2
brew install git-ftp
Chạy các lệnh sau:
git clone https://github.com/git-ftp/git-ftp.git
cd git-ftp
git tag # see available tags
git checkout <tag> # checkout the latest tag by replacing <tag>
sudo make install
Đang cập nhật bằng git
git pull
git tag # see available tags
git checkout <tag> # checkout the latest tag by replacing <tag>
sudo make install
Thiết lập
git config git-ftp.url YourFtpServerName.Net
git config git-ftp.user FtpUserName
git config git-ftp.password YourPassword
Tải lên tất cả các tập tin
git ftp init
Hoặc nếu các tập tin đã có
git ftp catchup
Làm việc và triển khai
echo "Hello StackOverflow" >> index.txt
git commit application/libraries/index.txt -m "I love StackOverflow"
git ftp push
Nếu có lỗi: pathspec 'index.txt' không khớp với bất kỳ (các) tệp nào được biết đến với git . Điều đó có nghĩa là tệp chưa được dàn dựng, vì vậy hãy thêm tệp và sau đó thử xác nhận.
git add application/libraries/index.txt
git commit application/libraries/index.txt -m "I love StackOverflow"
Hi vọng điêu nay co ich.
Bạn có thể thử FTPloy ...
"Đẩy các thay đổi sang GitHub hoặc Bitbucket."
"Triển khai thay đổi tự động đến máy chủ của bạn"
Bạn có một dự án miễn phí để dùng thử. Tôi hiện đang sử dụng cho một trang web php nhỏ và nó hoạt động khá tốt. Một vài lỗi trên trang web nhưng đó là một dự án đang hoạt động nên ít nhất họ đang làm việc với nó.
Hãy xem https://gitftp-deploy.com/ nếu bạn đang dùng MacOS và bạn thích GUI.
Đây là một ứng dụng nhỏ đẹp sử dụng Git để theo dõi các thay đổi và chỉ tải lên các tệp đã thay đổi bằng FTP.
Đặc biệt tiện dụng nếu bạn không thích trả phí hàng tháng cho hàng chục dự án nhỏ hơn với các nhóm nhỏ.