Làm cách nào để thiết lập Máy chủ GIT riêng? Repos trần / không trần là gì?


10

Tôi đang cố gắng thiết lập một máy chủ GIT đơn giản. Tôi đã cài đặt Ubuntu trên PC ảo (Hộp ảo). Tôi đã cài đặt GIT, tạo một repo, v.v.

git init 
git add .
git commit "..."

Sau đó, trên Windows, tôi đã làm một cái gì đó như dưới đây (trên cygwin)

git clone jiewmeng@192.168.0.3:proj1

Đã thử thực hiện thay đổi sau đó

cam kết -am "..."

nhưng có một cái gì đó như

xem hình ảnh

Tôi cho rằng tôi đã thiết lập GIT sai? Tôi đọc cái gì đó để làm với repos trần / không trần? Tôi có nên sử dụng trần mọi lúc? Tôi đã thử

git checkout --bare jiewmeng@192.168.0.3:proj1 

nhưng có proj1.gittrong đó, các tập tin / thư mục wierd như (HEAD, v.v.) bên trong. Cách đúng đắn để thiết lập GIT là gì?

ai đó cũng có thể giải thích các repos trần / không trần, tôi bị lạc, với GitHub, không có chuyện đó đâu!

CẬP NHẬT 28 tháng 4 năm 2011 6pm UTC + 8

Tôi đã thử theo dõi http://www.youtube.com/watch?v=1gNFrPNF9-Y và trên Ubuntu (Máy chủ) đã làm

git init --bare

sau đó trên Windows (Client / Cygwin) đã làm

git init 
// added readme.txt 
git add .
git commit -m "..."
git remote add origin master jiewmeng@192.168.0.3:proj2
git push origin master

không có lỗi có vẻ ok. Nhưng trên Ubuntu, tôi không thấy các tập tin của mình ở đâu? Tôi đã xem branches/1 nth trong đó?

Câu trả lời:


9

Kho lưu trữ "bình thường" là một thư mục chứa kho lưu trữ thực tế và một bản sao hoạt động. Các kho lưu trữ thực tế được đặt trong một thư mục con ẩn với tên .git. Các bản sao làm việc là những tập tin và thư mục bạn làm việc với.

Kho lưu trữ "trần" chỉ là nội dung của .gitthư mục, không có bản sao hoạt động.

Bạn không thể làm việc trên một kho lưu trữ trần. Trước tiên, bạn phải sao chép kho lưu trữ trần sang một kho lưu trữ bình thường, sau đó làm việc trên bản sao.

Trong nỗ lực đầu tiên của bạn, bạn đã tạo ra một kho lưu trữ "bình thường". Sau đó, bạn nhân bản đó. Sau đó, bạn đã cố gắng đẩy trở lại kho lưu trữ bình thường. Sau đó, bạn nhận được một cảnh báo. Bạn không nên đẩy đến một kho lưu trữ bình thường. Git cảnh báo bạn khi bạn cố gắng làm điều đó. Bạn chỉ nên đẩy đến một kho lưu trữ trần.

Trong lần thử thứ hai, bạn đã tạo ra một kho lưu trữ "trần". Sau đó, bạn đã tạo một kho lưu trữ "bình thường". Sau đó, bạn đẩy từ kho bình thường đến kho lưu trữ trần. Đó là (một trong) quy trình công việc dự kiến. Đó là lý do tại sao bạn không có lỗi hoặc cảnh báo.

Khi bạn muốn làm việc với dự án của mình từ máy windows và từ máy ubfox thì bạn có hai tùy chọn:

  1. Tạo một kho lưu trữ trần (không quan trọng ở đâu). Sau đó sao chép từ kho lưu trữ đó, một trên máy windows và một trên máy ubfox. Bây giờ đẩy từ bản sao vào kho lưu trữ trần và kéo từ kho lưu trữ trần sang bản sao. Đừng đẩy đến các kho thông thường.

  2. Tạo hai kho lưu trữ thông thường, một trên máy windows và một trên máy Ubuntu. Bây giờ, khi làm việc trên Ubuntu, bạn có thể kéo từ máy windows và ngược lại. Đừng xô đẩy nhau.

Dòng dưới cùng: chỉ bao giờ đẩy đến kho lưu trữ trần. Trong tất cả các trường hợp khác, khi bạn nghĩ rằng bạn muốn đẩy từ A sang B, thay vào đó, hãy đến B rồi kéo từ A.

Có vẻ như bạn rất mới với git. Xin vui lòng đọc một hoặc cả hai cuốn sách rất hay sau đây: Git Book , Pro Git .


1
hmm có vẻ như điểm học tập chính là " chỉ bao giờ được đẩy lên kho lưu trữ trần. Trong tất cả các trường hợp khác, khi bạn nghĩ rằng bạn muốn đẩy từ A đến B, thay vào đó, hãy chuyển đến B rồi kéo từ A ". Nếu vậy, GitHub làm điều đó như thế nào? Tôi đẩy nó sang phải (nv đã sử dụng nó cho đến giờ rồi ...)?
Jiew Meng

@JiewMeng: GitHub sử dụng kho lưu trữ trần. Trang web đọc dữ liệu trực tiếp từ Git và không cần máy trạm.
dùng1686

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.