บ่อยครั้งที่ Git และ Rails ดูเหมือนเวทมนตร์ ... เช่นในบทแรกของหนังสือ Tutorials 3 ของ Railsมันพูดถึง Git:
git remote add origin git@github.com:peter/first_app.git
git push origin master
และมันก็บอกว่า "ใช้งานได้ดี" โดยไม่ได้พูดอะไรมากและเริ่มพูดคุยเกี่ยวกับการแตกแขนง ค้นหาสุทธิแสดงว่าgit remote addจะเพิ่ม "ชื่อย่อ" เช่นoriginและมันอาจเป็นชื่อใด ๆ เช่นกันซึ่งเป็นเหมือนนามแฝงของ URL และoriginเป็นเส้นทางปกติของที่ repo ระยะไกลชี้ไปที่ (ในhttp://git-scm.com/book/en/Git-Basics-Working-with-Remotesภายใต้ "การเพิ่มที่เก็บระยะไกล")
เหตุใด URL จึงไม่ใช่   git://git@github.com/peter/first_app.gitแต่อยู่ในรูปแบบอื่น - เป็นรูปแบบอะไร ทำไมมันจะต้องจบลงด้วย.git? ฉันพยายามไม่ใช้.gitตอนท้ายและก็ใช้งานได้เช่นกัน หากไม่.gitสามารถมีอะไรอีกบ้าง gitในgit@github.comน่าจะเป็นบัญชีผู้ใช้บนเซิร์ฟเวอร์คอมไพล์หรือไม่
นอกจากนี้ทำไมจึงต้องใช้ verbose มากgit push origin master? ค่าเริ่มต้นไม่สามารถเป็นแหล่งกำเนิดและต้นแบบได้หรือไม่ ฉันพบว่าในครั้งแรกorigin masterจำเป็นต้องมี แต่หลังจากแก้ไขและคอมมิทเล็กน้อยแล้วก็git pushเป็นสิ่งที่ต้องการ (ไม่จำเป็นorigin master) ใครบางคนที่รู้ว่าเกิดอะไรขึ้นจะให้รายละเอียดบ้างไหม?
บางครั้งมันรู้สึกเหมือนเวทมนต์มากมายโดยไม่มีคำอธิบาย ... และบางครั้งคนที่ใช้มันก็มีความมั่นใจมากและเมื่อถูกถามว่าทำไมไม่สามารถอธิบายได้และตอบกลับด้วยบางสิ่งเช่น บางครั้งการปฏิบัติมากและในทางปฏิบัติ มันไม่ได้เลวร้ายที่จะใช้งานได้จริง แต่อาจจะไม่เป็นประโยชน์ในจุดที่ไม่รู้ว่าเกิดอะไรขึ้น
git@github.com:peter/first_app.gitเป็นscpไวยากรณ์รูปแบบสำหรับ ssh URL ใน git อีกจุดหนึ่งคือโดยค่าเริ่มต้นการกำหนดค่าอัปสตรีมของmasterไม่มีผลกระทบต่อพฤติกรรมของgit pushเว้นแต่คุณได้push.defaultตั้งค่าเป็นtracking(หรือupstreamในรุ่นที่ใหม่กว่า) - ฉันโพสต์บล็อกเกี่ยวกับแหล่งที่มาของความสับสนนี้: longair.net/blog/2011 /