คำถามติดแท็ก git

Git เป็น DVCS โอเพนซอร์ส (ระบบควบคุมเวอร์ชันแบบกระจาย)

7
ทำไมหลาย ๆ โครงการจึงชอบที่จะ“ git rebase” มากกว่า“ git merge”?
ข้อดีอย่างหนึ่งของการใช้ DVCS คือเวิร์กโฟลว์edit-commit-merge (การแก้ไขมากกว่าการผสานผสานกระทำบ่อยครั้งบังคับใช้โดย CVCS) การอนุญาตให้บันทึกการเปลี่ยนแปลงที่ไม่ซ้ำกันแต่ละครั้งในที่เก็บซึ่งเป็นอิสระจากการรวมกันทำให้มั่นใจได้ว่าDAGสะท้อนถึงสายเลือดที่แท้จริงของโครงการอย่างถูกต้อง ทำไมเว็บไซต์จำนวนมากถึงพูดถึงความต้องการที่จะ "หลีกเลี่ยงการรวมคอมมิท"? การไม่รวมการกระทำก่อนหน้าหรือการทำโพสต์ใหม่เข้าด้วยกันทำให้ยากต่อการแยกการถดถอยการย้อนกลับการเปลี่ยนแปลงที่ผ่านมา ฯลฯ จุดชี้แจง:พฤติกรรมเริ่มต้นสำหรับ DVCS คือการสร้างการรวมการกระทำ ทำไมหลายสถานที่พูดถึงความปรารถนาที่จะเห็นประวัติศาสตร์การพัฒนาเชิงเส้นที่ซ่อนการกระทำเหล่านี้ไว้?

7
ทำงานในสาขาที่ต้องพึ่งพาสาขาอื่นที่กำลังตรวจสอบอยู่
git ช่วยจัดการกับสถานการณ์ด้านล่างได้อย่างไร: ฉันมีภาระงานแบ่งออกเป็น 2 ส่วนคือส่วนแบ็กเอนด์และส่วนหน้า ฉันสร้างคำขอดึงเพื่อรวมการเปลี่ยนแปลงแบ็กเอนด์และรอให้รวมเข้าด้วยกัน ในขณะที่รอฉันไม่สามารถทำงานกับการเปลี่ยนแปลงส่วนหน้าได้เพราะมันขึ้นอยู่กับการเปลี่ยนแปลงแบ็กเอนด์และสิ่งเหล่านั้นยังไม่สามารถใช้ได้ในสาขาหลัก วิธีที่ดีที่สุดในการดึงการเปลี่ยนแปลงไปยังสาขาการเปลี่ยนแปลงส่วนหน้าจากสาขาการเปลี่ยนแปลงแบ็กเอนด์ในขณะที่มันยังอยู่ในระหว่างการตรวจสอบ?
65 git  branching 

1
ตรวจสอบรหัส Gerrit หรือรูปแบบการแยกและดึง Github หรือไม่
ฉันเริ่มโครงการซอฟต์แวร์ที่จะพัฒนาเป็นทีมและชุมชน ก่อนหน้านี้ฉันเคยขายใน gerrit แต่ตอนนี้รูปแบบการแยกและดึงคำขอของ Github ดูเหมือนจะให้เครื่องมือเพิ่มมากขึ้นวิธีที่จะมองเห็นความมุ่งมั่นและความสะดวกในการใช้งาน สำหรับคนที่มีประสบการณ์อย่างน้อยกับทั้งคู่ข้อดี / ข้อเสียของแต่ละคนและอะไรจะดีกว่าสำหรับโครงการที่ทำงานเป็นทีมซึ่งต้องการเปิดโอกาสในการพัฒนาชุมชน
64 git  github  forking  gerrit 

1
ถ้าฉันแยกโครงการบน Github ที่ได้รับอนุญาตภายใต้ MIT ฉันจะจัดการกับการระบุแหล่งที่มาและประกาศลิขสิทธิ์ได้อย่างไร
หากฉันวางแผนที่จะแยกโครงการ MIT และแก้ไขและเปลี่ยนชื่ออย่างมีนัยสำคัญฉันจะจัดการประกาศลิขสิทธิ์ด้านบนลิขสิทธิ์ MIT บนไฟล์ลิขสิทธิ์หลักได้อย่างไร ฉันจะแสดงรายการผู้แต่งดั้งเดิมและ บริษัท ของฉันหรือเพียงแค่ผู้แต่งดั้งเดิม? ตัวเลือกทางกฎหมายของฉันมีอะไรบ้างที่เกี่ยวข้องกับผู้แต่งดั้งเดิม ฉันตั้งใจจะอนุญาตให้ใช้ซอฟต์แวร์ของเราภายใต้ MIT และเก็บไว้เป็นโอเพ่นซอร์ส

4
ในฐานะนักพัฒนา แต่เพียงผู้เดียว (ตอนนี้) ฉันจะใช้ Git ได้อย่างไร [ปิด]
ฉันมีหลายโครงการใน Git ที่ในที่สุดฉันก็ต้องการนำคนอื่นเข้ามา อย่างไรก็ตามตอนนี้มันเป็นเพียงฉันและฉันใช้ Git และ GitHub อย่างง่าย ๆ : ไม่มีสาขาและโดยทั่วไปเพียงแค่ใช้คอมมิทเป็นข้อมูลสำรองในไฟล์ในเครื่องของฉัน บางครั้งฉันจะย้อนกลับไปดูไฟล์รุ่นก่อนหน้าของฉันเพื่ออ้างอิง แต่ฉันไม่จำเป็นต้องย้อนกลับไปที่จุดนี้แม้ว่าฉันจะชื่นชมตัวเลือกที่ฉันต้องการในอนาคต ในฐานะนักพัฒนาเพียงผู้เดียวคุณสมบัติของ Git หรือ GitHub ที่ฉันสามารถใช้ประโยชน์จากสิ่งนี้จะเป็นประโยชน์ต่อฉันในตอนนี้? เวิร์กโฟลว์ของฉันควรเป็นอย่างไร นอกจากนี้ยังมีวิธีปฏิบัติใดเป็นพิเศษที่ฉันต้องเริ่มทำเมื่อมีความคาดหมายในการเพิ่มผู้อื่นในโครงการของฉันในอนาคตหรือไม่

3
หาก GitHub โต้ตอบกับ Git และ Git ได้รับอนุญาตภายใต้ GPLv2 GitHub จะไม่เป็นโอเพนซอร์สหรือไม่
เนื่องจาก Git ได้รับอนุญาตภายใต้ GPLv2 และเพื่อความเข้าใจของฉัน GitHub โต้ตอบกับ Git ฐานข้อมูล GitHub ทั้งหมดไม่ควรเปิดในแหล่งลิขสิทธิ์ GPL หรือไม่
58 licensing  git  gpl  github 

4
กำลังสำรองฐานข้อมูล MySQL ใน Git เป็นความคิดที่ดีหรือไม่
ฉันพยายามปรับปรุงสถานการณ์การสำรองข้อมูลสำหรับแอปพลิเคชันของฉัน ฉันมีแอพพลิเคชั่น Django และฐานข้อมูล MySQL ฉันอ่านบทความแนะนำการสำรองฐานข้อมูลใน Git ในมือข้างหนึ่งฉันชอบมันจะเก็บสำเนาของข้อมูลและรหัสในการซิงค์ แต่ Git นั้นออกแบบมาสำหรับรหัสไม่ใช่สำหรับข้อมูล เช่นนี้มันจะทำงานพิเศษมากมายซึ่งต่างจากการถ่ายโอนข้อมูล MySQL ทุกการกระทำซึ่งไม่จำเป็นจริงๆ หากฉันบีบอัดไฟล์ก่อนจัดเก็บไฟล์ git จะยังคงแตกต่างกันหรือไม่? (ปัจจุบันไฟล์การถ่ายโอนข้อมูลถูกยกเลิกการบีบอัด 100MB, 5.7MB เมื่อบีบอัดไฟล์) แก้ไข: คำจำกัดความสคีมาของรหัสและฐานข้อมูลมีอยู่แล้วใน Git จริง ๆ แล้วเป็นข้อมูลที่ฉันกังวลเกี่ยวกับการสำรองตอนนี้
57 database  git  mysql  django 

4
จะเกิดอะไรขึ้นหากคุณลักษณะที่รวมเข้ากับการพัฒนาถูกเลื่อนออกไปโดยผู้บริหาร?
เมื่อเร็ว ๆ นี้เรามีปัญหาซึ่งคุณสมบัติสำหรับ webapp ของเรา (การลงทะเบียนอัตโนมัติ) ถูกเลื่อนออกไปโดยผู้บริหารเพราะพวกเขารู้สึกว่าการเริ่มต้นนั้น "หนาว" เกินไป แต่พวกเขาต้องการคุณสมบัติอื่น ๆ ทั้งหมดที่เรากำลังทำอยู่ ปัญหาคือฟังก์ชั่นนี้ได้รับการผสานเข้ากับการพัฒนาเมื่อเสร็จสิ้นพร้อมกับคุณสมบัติอื่น ๆ ทั้งหมดที่เราคาดว่าจะมีการถ่ายทอดสดในรุ่นถัดไปดังนั้นเราจึงไม่สามารถผสาน dev -> test -> master เหมือนที่เราทำ เราจะหลีกเลี่ยงปัญหานี้ได้อย่างไร?

2
ในความเป็นจริงแล้วสาขาของ Git คือ“ การทำแผนที่ endomunic endofunctors การทำแผนที่ submanifolds ของพื้นที่ Hilbert” หรือไม่?
ในขณะที่เราทุกคนรู้ว่า: Git ง่ายขึ้นเมื่อคุณเข้าใจสาขาคือการทำแผนที่ endofunctors การทำแผนที่โฮมโมมอนิฟิลของพื้นที่ฮิลแบร์ต ซึ่งดูเหมือนศัพท์แสง แต่ในทางกลับกัน ทั้งหมดบอกว่า monad ใน X เป็นเพียง monoid ในหมวดหมู่ของ endofunctors ของ X ด้วยผลิตภัณฑ์×แทนที่ด้วยองค์ประกอบของ endofunctors และหน่วยที่กำหนดโดย endofunctor ตัวตน เป็นตลกเพราะมันเป็นความจริง ฉันจะหลีกเลี่ยงการรวมข้อผิดพลาดโดยการอ่านข้อความง่าย ๆ นี้ได้ไหม
51 git 

11
ทำไม“ แยก GitHub” ออกมา? [ปิด]
ฉันเข้าใจว่าGitHubทำงานอย่างไร แต่สิ่งหนึ่งที่ฉันสับสนคือทำไมเกือบทุกโครงการOSSจึงมีลิงก์ "แยกฉันบน GitHub" ในหน้าแรกของพวกเขา ตัวอย่างเช่น, http://jqtjs.com/ , http://www.daviddurman.com/flexi-color-picker/และอื่น ๆ ทำไมสิ่งนี้จึงเป็นเรื่องธรรมดา พวกเขาต้องการ / ต้องการการตรวจสอบความถูกต้องรหัสตรวจสอบความปลอดภัย / ปรับปรุงประสิทธิภาพที่พวกเขาอาจไม่รู้วิธีการทำ? มันหมายถึงการแสดงให้เห็นว่านี่เป็นโครงการความร่วมมือ - คุณยินดีที่จะเพิ่มการปรับปรุง? พวกเขาทำงานให้กับ GitHub หรือต้องการส่งเสริมการบริการของพวกเขา? ผิดปกติฉันไม่คิดว่าจะเห็นโลโก้"Fork project on Bitbucket " ปฏิกิริยาแรกของฉันต่อโลโก้นั้นคือโครงการอาจต้องมีการแก้ไข (แยก) เพื่อรวมเข้ากับสิ่งที่มีประโยชน์ - หรือว่าพวกเขากำลังสนับสนุน codebase ที่อยู่อย่างกระจัดกระจาย แต่ฉันไม่คิดว่าเป็นเจตนา

9
ข้อความคอมไพล์ควรพูดถึงไฟล์ที่ถูกแก้ไขหรือไม่
ในบรรทัดแรกของข้อความคอมมิทคอมมิตฉันมีนิสัยพูดถึงไฟล์ที่แก้ไขหากการเปลี่ยนแปลงไม่ครอบคลุมหลายไฟล์ตัวอย่างเช่น: Add [somefunc] to [somefile] นี่เป็นสิ่งที่ดีที่จะทำหรือไม่จำเป็น?
50 git 

5
การจัดระเบียบที่เก็บ Git ด้วยโมดูลย่อยที่ซ้อนกันทั่วไป
ฉันเป็นแฟนตัวยงของGit ย่อยโมดูล ฉันชอบที่จะสามารถติดตามการพึ่งพาพร้อมกับเวอร์ชันเพื่อให้คุณสามารถย้อนกลับไปเป็นเวอร์ชันก่อนหน้าของโครงการของคุณและมีเวอร์ชันที่สอดคล้องกันของการพึ่งพาเพื่อสร้างอย่างปลอดภัยและเรียบร้อย ยิ่งไปกว่านั้นมันง่ายกว่าที่จะปล่อยไลบรารี่ของเราเป็นโครงการโอเพ่นซอร์สเนื่องจากประวัติของไลบรารี่นั้นแยกจากแอพพลิเคชั่นที่ขึ้นอยู่กับพวกมัน ฉันกำลังตั้งค่าเวิร์กโฟลว์สำหรับหลายโครงการในที่ทำงานและฉันสงสัยว่ามันจะเป็นอย่างไรถ้าเราใช้วิธีนี้แบบสุดขั้วแทนที่จะมีโครงการเสาหินเดียว ฉันรู้อย่างรวดเร็วมีความสามารถที่มีศักยภาพของเวิร์มในจริงๆโดยใช้โมดูลย่อย เผื่อว่าคู่ของการใช้งาน: studioและplayerและขึ้นอยู่กับห้องสมุดcore, graphและnetworkที่อ้างอิงมีดังนี้ core เป็นแบบสแตนด์อโลน graphขึ้นอยู่กับcore(โมดูลย่อยที่./libs/core) networkdepdends on core(โมดูลย่อยที่./libs/core) studioขึ้นอยู่กับgraphและnetwork(โมดูลย่อยที่./libs/graphและ./libs/network) playerขึ้นอยู่กับgraphและnetwork(โมดูลย่อยที่./libs/graphและ./libs/network) สมมติว่าเรากำลังใช้CMakeและแต่ละโครงการเหล่านี้มีการทดสอบหน่วยและงานทั้งหมด แต่ละโครงการ (รวมถึงstudioและplayer) จะต้องสามารถรวบรวมได้แบบสแตนด์อโลนเพื่อดำเนินการวัดรหัสการทดสอบหน่วย ฯลฯ สิ่งที่เป็นแบบเรียกซ้ำgit submodule fetchแล้วคุณจะได้รับโครงสร้างไดเรกทอรีต่อไปนี้: studio/ studio/libs/ (sub-module depth: 1) studio/libs/graph/ studio/libs/graph/libs/ (sub-module depth: 2) studio/libs/graph/libs/core/ studio/libs/network/ studio/libs/network/libs/ (sub-module depth: 2) studio/libs/network/libs/core/ ขอให้สังเกตว่าcoreถูกโคลนสองครั้งในstudioโครงการ นอกเหนือจากพื้นที่ดิสก์นี้เสียผมมีปัญหาการสร้างระบบเพราะผมกำลังสร้างcoreสองครั้งและผมอาจจะได้รับสองรุ่นต่าง ๆ coreของ คำถาม ฉันจะจัดระเบียบโมดูลย่อยเพื่อให้ได้รับการอ้างอิงเวอร์ชันและบิลด์แบบสแตนด์อโลนโดยไม่ได้รับสำเนาย่อยของโมดูลย่อยทั่วไปหลาย ๆ ชุดได้อย่างไร …
50 git  cmake  submodules 

8
เอกสารที่สร้างขึ้นควรเก็บไว้ในที่เก็บ Git หรือไม่?
เมื่อคุณใช้เครื่องมือเช่นjsdocsมันจะสร้างไฟล์ HTML แบบคงที่และสไตล์ของมันใน codebase ของคุณตามความคิดเห็นในรหัสของคุณ ควรตรวจสอบไฟล์เหล่านี้ในที่เก็บ Git หรือไม่หรือควรละเว้นด้วย. gitignore

4
มีวิธีจัดการกับข้อมูลที่ละเอียดอ่อนอย่างไรเมื่อใช้ Github และ Heroku
ฉันยังไม่คุ้นเคยกับวิธีการทำงานของ Git (และสงสัยว่ามีบางคนที่อยู่นอกเหนือจาก Linus คือ)) หากคุณใช้ Heroku เพื่อโฮสต์แอปพลิเคชันของคุณคุณจะต้องตรวจสอบรหัสของคุณใน Git repo หากคุณทำงานในโครงการโอเพ่นซอร์สคุณมีแนวโน้มที่จะแบ่งปัน repo นี้กับ Github หรือโฮสต์ Git อื่น ๆ ไม่ควรตรวจสอบบางสิ่งใน repo สาธารณะ รหัสผ่านฐานข้อมูล, คีย์ API, ใบรับรอง ฯลฯ ... แต่สิ่งเหล่านี้ยังคงต้องเป็นส่วนหนึ่งของ Git repo เนื่องจากคุณใช้มันเพื่อส่งรหัสของคุณไปยัง Heroku วิธีการทำงานกับกรณีการใช้งานนี้? หมายเหตุ: ฉันรู้ว่า Heroku หรือ PHPFog สามารถใช้ตัวแปรเซิร์ฟเวอร์เพื่อหลีกเลี่ยงปัญหานี้ คำถามของฉันเกี่ยวกับวิธี "ซ่อน" บางส่วนของรหัส
49 git  github  heroku 

3
คอมไพล์สามารถมีผู้ปกครองมากกว่า 2 คนได้หรือไม่?
ในเอกสารนี้มีการกล่าวถึง วัตถุกระทำอาจมีจำนวนผู้ปกครองใด ๆ แต่จากความเข้าใจของฉันกรณีเดียวที่ความมุ่งมั่นจะมีผู้ปกครองมากกว่า 1 คนคือเมื่อมีการรวมเกิดขึ้นและในกรณีนั้นจะมีผู้ปกครองสองคนเท่านั้น ดังนั้นคำถามของฉันคือความมุ่งมั่นมีผู้ปกครองมากกว่า 2 คนหรือไม่? ถ้าเป็นเช่นนั้นเมื่อไหร่?
48 git 

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