2011-11-25 33 views
29

Tôi mới vào git và heroku.Thay thế từ xa git repo (Heroku)

Tôi đã tạo một ứng dụng trên heroku, đã đẩy một số tệp vào repo.

Bây giờ tôi muốn thay thế hoàn toàn bản repo của ứng dụng này bằng nội dung mới từ một thư mục khác (và có một repo .git trong thư mục đó). Cách đúng để làm điều này là gì?

Trả lời

46

Nếu bạn muốn thay thế hoàn toàn lịch sử của các cam kết mà bạn đã đẩy bởi lịch sử mà repo thứ hai mới, tất cả các bạn nên cần phải làm sẽ là:

git remote show heroku in the first repo 
cd /path/to/seconf/git/repo 
git remote add heroku <heroku_repo_address_from_previous_command> 
# for instance: git remote add heroku [email protected]:appname.git 
git push --force heroku master 

Điều đó sẽ thay thế master chi nhánh của từ xa heroku repo theo chi nhánh master của repo thứ hai của bạn. Nhưng điều đó sẽ mất (hoặc ít nhất là giữ trong reflog của repo từ xa trong một thời gian) lịch sử của các chi nhánh master của repo cũ.

Giả sử bạn có thể sử dụng lại thông tin đăng nhập heroku của bạn mà bạn đã tạo, theo sau Heroku quick start pageHeroku Deploying with git page.

+0

Cảm ơn. là --force tùy chọn cho 100% người được cấp phép rằng nhánh chính mới sẽ không được hợp nhất với một cái cũ trên máy chủ mà chỉ thay thế nó? từ tài liệu nó không rõ ràng ("Lá cờ này [-f, - lực lượng] vô hiệu hóa việc kiểm tra. Điều này có thể gây ra kho lưu trữ từ xa để mất cam kết; sử dụng nó cẩn thận.") – WHITECOLOR

+0

@WHITECOLOR: vâng, sẽ không có bất kỳ hợp nhất nào. – VonC

+17

Chỉ cần sử dụng "lực" – doublejosh

Các vấn đề liên quan