Tôi muốn thử một câu trả lời bao gồm luồng git và ba 'điểm' hoặc trường hợp sử dụng, kho lưu trữ trung tâm git, phát triển cục bộ và máy sản xuất. Điều này không được thử nghiệm tốt .
Tôi đang đưa ra các lệnh cực kỳ cụ thể. Thay vì nói <your folder>
, tôi sẽ nói /root/git
. Nơi duy nhất mà tôi đang thay đổi lệnh ban đầu là thay thế tên máy chủ cụ thể của tôi bằng example.com
. Tôi sẽ giải thích mục đích thư mục là để bạn có thể điều chỉnh nó cho phù hợp. Xin vui lòng cho tôi biết bất kỳ sự nhầm lẫn và tôi sẽ cập nhật câu trả lời.
Phiên bản git trên máy chủ là 1.7.1. Máy chủ là CentOS 6.3 (Cuối cùng).
Phiên bản git trên máy phát triển là 1.8.1.1. Đây là Mac OS X 10.8.4.
Kho lưu trữ trung tâm và máy sản xuất nằm trên cùng một máy.
kho lưu trữ trung tâm mà người dùng svn có thể liên quan đến 'máy chủ' được định cấu hình như sau. Tôi có một thư mục /root/git
nơi tôi giữ tất cả các kho git của tôi. Tôi muốn tạo một kho git cho một dự án mà tôi gọi là 'hoa'.
cd /root/git
git clone --bare flowers flowers.git
Lệnh git đưa ra hai thông báo:
Initialized empty Git repository in /root/git/flowers.git/
warning: You appear to have cloned an empty repository.
Không có gì phải lo lắng về.
Trên máy phát triển được cấu hình như sau. Tôi có một thư mục /home/kinjal/Sites
nơi tôi đặt tất cả các dự án của tôi. Bây giờ tôi muốn có được kho git trung tâm.
cd /home/kinjal/Sites
git clone root@example.net:/root/git/flowers.git
Điều này đưa tôi đến một điểm mà tôi có thể bắt đầu thêm công cụ vào đó. Lần đầu tiên tôi thiết lập luồng git
git flow init -d
Theo mặc định, đây là trên chi nhánh develop
. Tôi thêm mã của tôi ở đây, bây giờ. Sau đó, tôi cần phải cam kết với kho git trung tâm.
git add .
git commit -am 'initial'
git push
Lúc này nó đẩy sang nhánh phát triển. Tôi cũng muốn thêm nó vào nhánh chủ.
git flow release start v0.0.0 develop
git flow release finish v0.0.0
git push
Lưu ý rằng tôi không làm gì giữa bắt đầu phát hành và kết thúc phát hành. Và khi tôi hoàn thành việc phát hành, tôi được nhắc chỉnh sửa hai tập tin. Điều này đã đẩy chi nhánh phát triển lên thành thạo.
Trên trang sản xuất, trên cùng một máy với kho git trung tâm của tôi, tôi muốn đặt kho lưu trữ vào /var/www/vhosts/example.net
. Tôi đã có /var/www/vhosts
.
cd /var/www/vhosts
git clone file:///root/git/flowers.git example.net
Nếu máy sản xuất cũng sẽ ở trên một máy khác, git clone
lệnh sẽ trông giống như máy được sử dụng trên máy phát triển.
git clone --bare
sẽ làm những gì bạn nghĩ nó sẽ làm.