2011-12-14 66 views
6

Tôi đã (cuối cùng) thuyết phục người quản lý của mình cho phép chúng tôi thiết lập kiểm soát phiên bản và đã thực hiện một số nghiên cứu trong vài ngày qua và đã quyết định về git. Dù sao tôi đã tìm thấy hướng dẫn tại đây http://toroid.org/ams/git-website-howto trên thiết lập cơ bản, điều này sẽ đẩy các thay đổi đến kho lưu trữ từ xa. Điều này sẽ làm việc tuyệt vời cho công ty của chúng tôi.thiết lập cơ bản git

Dưới đây là các bước tôi đã đi qua

hộp Local

cd /website 
git init 
git add . 
git commit -m "Initial commit into git" 

máy chủ

cd /var/git/ 
mkdir website.git 
cd website.git 
git init --bare 

mkdir /var/www/website 

cat > hooks/post-receive 

#!/bin/sh 
GIT_WORK_TREE=/var/www/website git checkout -f 

chmod + x móc/post-nhận

Local Box

git remote add web ssh://[email protected]/var/git/website.git 
git push web +master:refs/heads/master 

Bây giờ, nơi tôi làm việc đẩy mạnh tôi nhận được lỗi "Thao tác này phải được chạy trong một cây làm việc" này được phát ra từ sau nhận móc. Tôi biết tôi đang thiếu một bước nhưng không chắc chắn chính xác điều gì là ...

+0

Tôi muốn thử tháo móc hậu nhận, làm đẩy ban đầu của tôi, và sau đó thay thế móc sau nhận được. Có lẽ móc không muốn chạy trên một repo không có cam kết ở tất cả? – antlersoft

+1

Bạn có đánh giá https://github.com/sitaramc/gitolite không? Sau đó bạn có thể muốn tổ chức các chi nhánh của bạn: http://nvie.com/posts/a-successful-git-branching-model/ – tback

+0

Tôi không có thời gian để tìm một bản sao, nhưng có thể là một tá trong số họ đây. Hãy thử tìm kiếm các câu hỏi tương tự. – Cascabel

Trả lời

2

Tôi cho rằng thư mục làm việc của bạn website trống. Do đó, git add . của bạn không thêm bất cứ điều gì, và cam kết tiếp theo không tạo ra một cam kết mới.

Để tạo nhánh chính, bạn cần hoàn thành ít nhất một lần commit, với ít nhất một tệp.

Trong hộp địa phương, làm

touch empty 
git add empty 
git commit -m "Initial commit into git" 
git push web 
Các vấn đề liên quan