2014-06-20 14 views
10

Tôi không phải là chuyên gia GIT nên tôi cần trợ giúp về thiết lập này cho dự án tôi đang làm việc. Vì vậy, về cơ bản đây là những gì tôi cần:Thiết lập phức tạp cho GIT: ngã ba từ Github đến Bitbucket, PUSH tới Bitbucket chỉ

  1. Tạo một ngã ba từ Github tới Bitbucket, bằng cách nào? điều này đảm bảo được thực hiện git pull tất cả các thời gian để duy trì CORE cập nhật với những thay đổi mới nhất từ ​​dự án chính Github?
  2. Chỉ cho phép PUSH tới kho lưu trữ Bitbuket, có thể không? Làm sao?

Tôi đang sử dụng SmartGit làm ứng dụng khách chính nhưng cũng có dòng lệnh git.

Bất kỳ trợ giúp nào về điều này?

Trả lời

14

Một khi bạn đã tạo ra một repo BitBucket trống, bạn có thể

git clone https://github.com/user/yourRepo 
cd repo 
git remote rename origin upstream 
git remote add origin https://[email protected]/yourAccount/yourRepo 
git push --mirror 

Sau đó, hãy chắc chắn master sẽ kéo từ bitbucket repo (upstream là tên của điều khiển từ xa đề cập đến GitHub repo gốc)

git checkout master 
git branch -u origin/master 
git push.default matching 

git push sẽ đẩy tới repo bitbucket (origin), nhưng bạn cần git pull upstream để kéo/cập nhật từ repo GitHub gốc. Theo mặc định, bạn sẽ làm việc với BitBucket (giống như tất cả các nhà phát triển khác nhân bản repo mới), nhưng nhà phát triển có thể thêm bất kỳ lúc nào một tham chiếu (từ xa) vào repo GitHub ban đầu.

+0

Cách tiếp cận này sẽ không hoạt động vì có những nhà phát triển khác làm việc với tôi và họ cũng cần rút từ Bitbucket repo, ý tưởng là cập nhật bản repo Bitbucket từ Github repo nhưng đã lấy từ repo Bitbucket. Nếu bạn không hiểu cho tôi biết và tôi xây dựng một sơ đồ đơn giản để minh họa những gì tôi cần – ReynierPM

+1

@ReynierPM Ok, nó thậm chí còn dễ dàng hơn. Tôi đã chỉnh sửa câu trả lời. – VonC

+1

@VonC lỗi gương trên câu trả lời của bạn đó là "git remote add origin ..." – psk

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