ทำไมฉันถึงต้องผลักดันถ้าฉันทำงานคนเดียวในที่เก็บในเครื่อง?


21

ฉันโต้ตอบกับ Git ผ่านGitHub สำหรับ Windowsซึ่งเป็นเรื่องตลกเพราะฉันจะไม่ผลักดันที่เก็บของฉันไปที่ GitHub ฉันทำงานกับมันคนเดียวและตั้งใจจะให้ฉันใช้เท่านั้น ฉันสังเกตเห็นว่าการคอมมิชชันของฉันอยู่ในรายการภายใต้ "คอมมิทที่ไม่ซิงค์" และภายใต้ "ประวัติ" มันระบุว่า "ไม่มีคอมมิท" สิ่งใดที่ทำให้ฉันมีข้อสงสัยฉันจะทำอะไรได้บ้างโดยการผลักดันยกเว้นคำสั่งของฉันที่ระบุไว้ใน "ประวัติ"


14
มีการขาดความเข้าใจอย่างสำคัญในคำถามที่ควรค่าแก่การชี้: หากคุณไม่ได้ผลักอะไรจากระยะไกลงานทั้งหมดของคุณจะอยู่ในพื้นที่เก็บข้อมูลบนดิสก์ในเครื่อง สูญเสียเครื่องจักรสูญเสียทุกสิ่งทุกอย่างที่คุณเคยทำ
Lars Viklund

คำตอบ:


40

คุณถูกต้องทางเทคนิค - ไม่จำเป็นต้องกดถ้าคุณไม่แชร์รหัสกับใคร

จากนั้นอีกครั้งแล็ปท็อปของคุณมีฮาร์ดไดรฟ์ที่ทำโดยผู้เสนอราคาต่ำสุด บ้านของคุณอาจถูกไฟไหม้ก่อนฮาร์ดไดรฟ์จะล้มเหลว คุณอาจต้องการดูรหัสของคุณจากระยะไกล หรือแม้แต่แบ่งปันกับใครบางคน

ตอนนี้ด้วย Github พวกเขาต้องการทุกอย่างเป็นสาธารณะหรือคุณต้องจ่ายค่าที่เก็บส่วนตัว ดังนั้นหากคุณต้องการที่จะเก็บมันไว้กับตัวคุณเองคุณอาจต้องการที่จะตรวจสอบ bitbucket ซึ่งจะช่วยให้คุณทำ git แต่ยังมี repos ส่วนตัวฟรี

อีกตัวเลือกหนึ่งคือการบันทึกที่เก็บข้อมูล git ของคุณจากที่อื่นที่สำรองไว้จากระยะไกล แต่มีข้อดีเล็กน้อยในการทำเช่นนี้แทนที่จะใช้ผู้ให้บริการคลาวด์ SCM


BitBucket ข้อเสนอสวยมากไม่ จำกัด จำนวน Repos ส่วนตัวฟรี

มีเหตุผลมากมายที่จะผลักดัน เวิร์กโฟลว์ไม่ได้เปลี่ยนแปลงอะไรมากมาย คุณทำงานกระทำกระทำกระทำเสร็จสิ้นขั้นตอนการทำงานและการผลักดัน ...
Rig

7

มีเหตุผลที่คุณต้องการที่จะผลักดันที่จะซื้อคืน (ที่แม้ว่าจะเป็นในหรืออีกวิธีหนึ่ง, ท้องถิ่น) อีกอย่างก็คือ: เวิร์กสเตชัน

ฉันไม่รู้เกี่ยวกับคุณ แต่ฉันทำงานในคอมพิวเตอร์ 4 เครื่อง (พีซี 1 เครื่องที่บ้านแล็ปท็อป 1 เครื่องคอมพิวเตอร์ Office 1 เครื่องและคอมพิวเตอร์สำนักงาน 1 เครื่อง) และผลักดันการเปลี่ยนแปลงไปยังเซิร์ฟเวอร์ Git ที่ตั้งค่าอย่างเหมาะสมในเซิร์ฟเวอร์ของ บริษัท ทำให้การซิงค์รวดเร็ว ไม่เจ็บปวด เนื่องจาก Git เป็น DVCS นั่นเป็นการสร้างความได้เปรียบในการใช้งาน: ไม่เพียง แต่การสำรองข้อมูลเท่านั้น แต่ฐานรหัสที่แตกต่างกันทั้งหมดที่ฉันทำงานอยู่สามารถผสานรวมตรวจสอบและวิเคราะห์ได้อย่างง่ายดาย

มันอาจจะเป็นในท้องถิ่นถ้าเช่นพีซีที่บ้านของคุณเป็น "เซิร์ฟเวอร์" (หรือที่มา) และคุณมีแล็ปท็อปที่บ้าน - วิธีที่คุณสามารถซิงค์ได้อย่างง่ายดาย

Sidenote : ผู้คนมักพูดว่า "ฉันควรใช้ Dropbox (หรือบริการซิงค์อื่น ๆ )" จำนวนมหาศาลของวัตถุที่ Git repo ทำให้มันไร้สาระที่จะใช้ Dropbox เช่นนั้น มันเป็นตัวเลือก แต่ฉันจะไม่พูดอะไรดี


+1 ฉันจะทำเช่นเดียวกันในกรณีของคุณอย่างแน่นอน คุณจะทำอย่างไรถ้าคุณลืมที่จะกลับบ้านและตอนนี้ทำงานอยู่?
Moshe Revah

2
@ Zippoxer มุ่งเน้นไปที่งานอื่นและรวมในภายหลัง
bytebuster

ตรงตามที่ @bytebuster พูด นั่นคือความงามของ DVCS! (แม้ว่าจะมีการฝึกฝนมากพอคุณจะไม่ลืมอีกต่อไป!)
AeroCross

อีกทางหนึ่ง: ทำงานในโครงการด้าน / งานอดิเรกเพื่อผ่อนคลายหรือสำรวจความคิดใหม่ ๆ เป็นต้น :-)
johannes

6

ในฐานะที่เป็น SCM แบบกระจาย git แยกความแตกต่างระหว่างแนวคิด 'สร้างสแนปชอตของสำเนาการทำงาน' (คอมมิชชัน) และ 'ซิงค์ที่เก็บข้อมูล' (push / pull / fetch)

หากคุณมีที่เก็บในเครื่องของคุณเพียงแห่งเดียวเท่านั้นมันก็ไม่สมเหตุสมผลเลย อย่างไรก็ตามด้วย GitHub คุณจะมีโคลนอีกอันหนึ่ง (หนึ่งใน GitHub) และการผลักดันการเปลี่ยนแปลงของคุณมีข้อดีอย่างน้อยหนึ่งอย่าง: การสำรองข้อมูล หากคอมพิวเตอร์ของคุณเสียชีวิตคุณยังคงมีทุกสิ่งที่ส่งมาถึง github

แน่นอนว่านั่นไม่ใช่จุดประสงค์หลักของ GitHub; github มีไว้สำหรับรหัสที่ใช้ร่วมกันดังนั้นหากโครงการของคุณอยู่ใน gitub คุณสามารถอนุญาตให้ผู้อื่นดึงออกมาจากที่นั่นโคลนโครงการของคุณดำเนินการตามคำขอดึงจากโคลนนิ่งของพวกเขาหรือให้ผู้อื่นที่เชื่อถือได้

อีกเหตุผลที่จะผลักดันคือถ้าคุณใช้โคลนในพื้นที่หลายแห่ง สิ่งนี้มีประโยชน์สำหรับสิ่งต่าง ๆ : ตัวอย่างเช่นคุณอาจต้องการทำงานในสองสาขาที่แตกต่างกันในเวลาเดียวกันหรือคุณอาจต้องการลองใช้งานการทำลายล้างบนพื้นที่เก็บข้อมูลของคุณ หากทุกอย่างทำงานได้ตามที่ต้องการคุณเก็บโคลนที่ถูกดัดแปลง (หรือผลักดันการเปลี่ยนแปลงของคุณกลับไปที่ repo ดั้งเดิม) แต่ถ้าทุกอย่างไปทางทิศใต้คุณก็สามารถลบโคลนที่ยุ่งเหยิงและกลับไปที่เดิม (ซึ่งยังคงไม่เปลี่ยนแปลง) .

บางคนใช้ git สำหรับการปรับใช้: เวอร์ชันการผลิตนั้นเป็น repo git และการอัปเดตเป็นเวอร์ชันที่ใหม่กว่านั้นเป็นเรื่องของการดึงและชำระเงิน ฉันไม่จำเป็นต้องแนะนำสำหรับสิ่งที่ร้ายแรง แต่สำหรับสิ่งเล็ก ๆ มันเป็นวิธีที่ง่ายและใช้งานได้จริง

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.