คำตอบของ Mohannd นั้นสมบูรณ์แบบ แต่ฉันต้องการสรุปวิธีแก้ปัญหาที่สมบูรณ์ในกรณีที่ต้องการอย่างอื่น:
ในการใช้ github repo ของคุณเป็น repo ของ Openshift ตอนนี้ยังไม่มีโซลูชันที่สมบูรณ์แบบเพราะ Openshfit ใช้ git hooks เพื่อเริ่มการปรับใช้หรือการปรับใช้ใหม่ตามข้อตกลงของคุณ อย่างไรก็ตามวิธีที่ชาญฉลาดที่สุดคือการใช้ 2 repos (อันที่เปิดขึ้นและอันหนึ่งของ github ของคุณ) เพื่อดันโค้ดไปพร้อม ๆ กัน
โดยเพิ่มรีโมตชื่อ "all" และเพิ่ม 2 push url เข้าไป
git remote add all ssh://23456781234567@yourapp-namespace.rhcloud.com/~/git/yourapp.git
git remote set-url openshift-git-repo --push --add ssh://23456781234567@yourapp-namespace.rhcloud.com/~/git/yourapp.git
git remote set-url github-repo --push --add git@github.com:youruser/yourapp.git
จากนั้นตั้งค่ารีโมทชื่อ 'all' เป็นรีโมตพุชเริ่มต้น:
git push -u all
ในการคอมมิตและพุชโค้ดของคุณให้ดำเนินการตามปกติ: มันจะกดรีโมต 2 ตัวและปรับใช้บน OpenShift
git add .
git commit -m "my commit"
git push
และดูผลลัพธ์:
[master 3fc96b2] my commit
1 file changed, 2 deletions(-)
MyLaptop:myapp User$ git push
Counting objects: 3, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 291 bytes | 0 bytes/s, done.
Total 3 (delta 2), reused 0 (delta 0)
To git@github.com:User/myapp.git
a036a44..3fc96b2 master -> master
Counting objects: 3, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 291 bytes | 0 bytes/s, done.
Total 3 (delta 2), reused 0 (delta 0)
remote: Stopping PHP 5.4 cartridge (Apache+mod_php)
remote: Waiting for stop to finish
remote: Waiting for stop to finish
remote: Building git ref 'master', commit 3fc96b2
remote: Preparing build for deployment
remote: Deployment id is 9037d37a
remote: Activating deployment
remote: Starting PHP 5.4 cartridge (Apache+mod_php)
remote: Application directory "/" selected as DocumentRoot
remote: -------------------------
remote: Git Post-Receive Result: success
remote: Activation status: success
remote: Deployment completed with status: success
To ssh://23456789@myapp-namespace.rhcloud.com/~/git/myapp.git/
a036a44..3fc96b2 master -> master
MyLaptop:myapp User$
หวังว่านี่จะช่วยได้