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

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

5
จะตั้งค่าการตรวจสอบโค้ดโดยใช้ Gitlab ได้อย่างไร?
จะตั้งค่าการตรวจสอบโค้ดโดยใช้ Gitlab ได้อย่างไร? ฉันเห็นว่ามันแสดงเป็นฟีเจอร์บนเว็บไซต์ Gitlab แต่ดูเหมือนจะไม่พบคำแนะนำในการตั้งค่า (สำหรับเรื่องนั้นลิงก์ไปยังคู่มือผู้ใช้ Gitlab จะได้รับการชื่นชมมากที่สุด) การค้นหาบางส่วนของฉันระบุว่า 'คำขอรวม' เป็นวิธีที่จะไป ... แต่ฉันพบว่ามีข้อ จำกัด คำขอการรวมที่ออกจะแสดงการกระทำทั้งหมดระหว่างสาขาหนึ่งและอีกสาขาหนึ่ง ดูเหมือนว่าฉันจะสามารถดูความแตกต่างที่สร้างขึ้นสำหรับแต่ละคอมมิตเท่านั้น ตัวอย่างเช่นสมมติว่าฉันมีไฟล์ที่ต้องการตรวจสอบ เป็นไฟล์ใหม่ แต่ฉันได้ส่งการเปลี่ยนแปลงไปแล้วมากกว่า 10 คอมมิตในสาขา dev ถ้าฉันออกคำขอรวมสำหรับสาขา dev นั้นจากการรวมฉันเห็น 10 คอมมิตซึ่งแต่ละรายการแสดงการเปลี่ยนแปลงที่เพิ่มขึ้นในไฟล์ ... ฉันต้องการตรวจสอบสิ่งทั้งหมด ใหม่! ฉันเห่าต้นไม้ผิดที่นี่หรือเปล่า? มีเครื่องมือตรวจสอบโค้ดจริงที่ฉันสามารถใช้ใน GitLab ได้หรือไม่หรือกำลังขอการผสานระหว่างทางและฉันกำลังใช้มันอย่างไม่ถูกต้อง วิธีใดดีที่สุดในการตั้งค่าการตรวจสอบโค้ดที่เหมาะสมที่นี่

4
Git flow - สร้างฟีเจอร์แยกสาขาออกจากสาขาฟีเจอร์อื่น
ฉันใช้git flowมาระยะหนึ่งแล้ว ฉันอยากรู้เกี่ยวกับกรณีการใช้งานที่เฉพาะเจาะจง สำหรับหนึ่งในโครงการของฉันฉันมีตั๋วสำหรับคุณสมบัติเว็บไซต์ใหม่ ตั๋วนี้ขึ้นอยู่กับงานย่อยหลายอย่าง ฉันต้องการสร้างสาขาคุณลักษณะสำหรับตั๋วหลักจากนั้นสำหรับงานย่อยแต่ละงานให้สร้างสาขาคุณลักษณะจากสาขาคุณลักษณะหลัก สมมติว่าฉันมีตั๋ว PROJ-500 และฉันสร้างสาขาคุณลักษณะสำหรับมัน git flow feature start PROJ-500 แล้วฉันต้องการที่จะรวมตั๋วPROJ-501ผ่านPROJ-515เข้าไปก่อนที่จะรวมทั้งสิ่งที่เข้ามาในPROJ-500 developมีวิธีให้ฉันทำอะไรบ้างเช่น git flow feature start PROJ-511 -b PROJ-500 จากนั้นเมื่อเวลาผ่านไปงานย่อยเหล่านี้จะเสร็จสมบูรณ์และเมื่อคุณสมบัติเสร็จสิ้นสาขาจะถูกรวมเข้าPROJ-500ด้วยกัน git flow feature finish PROJ-511 คำสั่งดังกล่าวจะรวมPROJ-511เข้าด้วยกันPROJ-500 และเมื่องานย่อยทั้งหมดเสร็จสิ้นแล้วก็PROJ-500จะเสร็จสิ้นและรวมเข้าdevelopด้วยกัน ด้วยวิธีนี้คุณลักษณะใหม่ของเว็บไซต์จะรวมเข้ากับการพัฒนาเป็นหน่วยเดียวแทนที่จะเป็นแบบทีละชิ้น
86 git  git-flow 

7
Git submodules ไม่อัปเดตใน Jenkins build
ฉันมีโมดูลย่อยในโครงการในเจนกินส์ ฉันได้เปิดใช้งานการตั้งค่าขั้นสูงเพื่ออัปเดตโมดูลย่อยแบบวนซ้ำ เมื่อฉันรันบิลด์ฉันเห็นว่าพื้นที่ทำงานมีไฟล์จากโมดูลย่อย ปัญหาคือดูเหมือนว่าจะเป็นการแก้ไขครั้งแรกของโมดูลย่อย เมื่อฉันพุชการเปลี่ยนแปลง (ที่เก็บที่โฮสต์บน GitHub) ดูเหมือนว่าเจนกินส์จะไม่อัปเดตโมดูลย่อยเพื่อรับการเปลี่ยนแปลงที่ถูกต้อง มีใครเคยเห็นแบบนี้บ้าง?

5
git diff - แสดงการเปลี่ยนแปลงสิ้นสุดบรรทัดหรือไม่
ตัวแก้ไขของฉันกำลังเปลี่ยนการลงท้ายบรรทัดของไฟล์ต้นฉบับของฉัน เมื่อฉันทำฉันจะgit diffเห็นบรรทัดเดิมสองครั้ง - ครั้งเดียว-และครั้งเดียว+- โดยไม่เห็นความแตกต่าง ฉันgit diffจะแสดงให้ฉันเห็นได้อย่างไรว่าการเปลี่ยนแปลงนี้คืออะไร?

5
วิธีติดตามไดเรกทอรี แต่ไม่ใช่ไฟล์ด้วย Git
ฉันเพิ่งเริ่มใช้ Git และมีปัญหากับสิ่งเดียว ฉันจะติดตามไดเรกทอรีโดยไม่ติดตามเนื้อหาได้อย่างไร ตัวอย่างเช่นไซต์ที่ฉันกำลังทำงานอยู่อนุญาตให้อัปโหลดได้ ฉันต้องการติดตามไดเร็กทอรีการอัปโหลดเพื่อให้สร้างขึ้นเมื่อแตกกิ่งก้าน ฯลฯ แต่ไม่ใช่ไฟล์ที่อยู่ในนั้นอย่างชัดเจน (ไฟล์ทดสอบในขณะที่พัฒนา branch หรือไฟล์จริงในมาสเตอร์) ใน. gitignore ของฉันฉันมีสิ่งต่อไปนี้: อัพโหลด /*.* ได้ลองด้วย (ซึ่งละเว้นทั้งไดเรกทอรี): อัพโหลด / ไดเร็กทอรีนี้อาจมีไดเร็กทอรีย่อย (อัพโหลด / thumbs / uploads / videos /) ฉันต้องการติดตามสิ่งเหล่านี้ แต่ไม่ใช่ไฟล์ของมัน เป็นไปได้ด้วย Git? ฉันค้นหาทุกที่โดยไม่พบคำตอบ

5
ฉันจะล้างโฟลเดอร์. git ของฉันได้อย่างไร ล้างไดเรกทอรีโครงการของฉัน แต่. git ยังคงมีขนาดใหญ่
.git / วัตถุในรางของฉันโครงการไดเรกทอรียังคงเป็นใหญ่หลังจากลบหลายร้อยเมกะไบต์ของขยะที่สร้างขึ้นโดยไม่ได้ตั้งใจ ฉันได้ลองgit add -Aแล้วรวมถึงคำสั่งอื่น ๆ เพื่ออัปเดตดัชนีและลบไฟล์ที่ไม่มีอยู่ ฉันรวบรวมอาจจะไม่ถูกต้องว่าไฟล์ที่มีชื่ออักขระสองตัวในไดเร็กทอรีเป็น blobs ฉันได้พยายามย้อนกลับไปที่การกระทำก่อนหน้านี้ แต่โชคไม่ดี ฉันจะทำความสะอาดไดเร็กทอรีนี้ได้อย่างไร
86 git 

3
คุณเปลี่ยนกลับเป็นแท็กเฉพาะใน Git ได้อย่างไร
ฉันรู้วิธีเปลี่ยนกลับไปใช้คอมมิทรุ่นเก่าในสาขา Git แต่ฉันจะเปลี่ยนกลับไปเป็นสถานะของสาขาที่กำหนดโดยแท็กได้อย่างไร ฉันจินตนาการถึงสิ่งนี้: git revert -bytag "Version 1.0 Revision 1.5" เป็นไปได้หรือไม่
86 git  tags  tagging  revert 

2
ฉันจะส่งอีเมลถึงใครบางคนในที่เก็บ git ได้อย่างไร
ฉันเหนื่อย: git archive HEAD --format=zip > archive.zip : จากนั้นฉันส่งอีเมลไปที่ archive.zip และในอีกด้านหนึ่งพวกเขาก็คลายซิป archive.zip ลงในโฟลเดอร์ แต่เมื่อพวกเขาลองใช้คำสั่ง git พวกเขาพบว่าสิ่งนี้ไม่ได้สร้างที่เก็บ git ที่ถูกต้อง
86 git 

6
ตรวจสอบการกระทำเก่าและการดูแลหัวหน้าในสาขาหลักหรือไม่?
ขณะนี้สำหรับการเปลี่ยนไปใช้คอมมิตคอมไพล์อื่น (ในสาขาเดียวกัน ... จริงๆแล้วในสาขาหลัก!) ฉันกำลังดำเนินการคำสั่ง git checkout ea3d5ed039edd6d4a07cc41bd09eb58edd1f2b3a ตอนนี้ทุกครั้งที่ฉันทำคอมไพล์นี้บอกฉันว่าตอนนี้ฉันหัวแตก ฉันจะไปที่การกระทำที่เก่ากว่าและยังคงรักษาหัวหน้าในสาขาเดียวกันได้อย่างไร

14
GIT เทียบกับ Perforce - VCS สองรายการจะเข้าสู่ ... หนึ่งรายการจะออก [ปิด]
ปิด . คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ขณะนี้ยังไม่ยอมรับคำตอบ ปิดให้บริการใน6 ปีที่ผ่านมา ล็อค คำถามนี้และคำตอบถูกล็อกเนื่องจากคำถามไม่ตรงประเด็น แต่มีความสำคัญทางประวัติศาสตร์ ขณะนี้ยังไม่ยอมรับคำตอบหรือการโต้ตอบใหม่ ดังนั้นฉันจึงอยู่ระหว่างการขาย GIT ในที่ทำงาน สิ่งแรกที่ฉันต้องการคือการโน้มน้าวทุกคนว่า GIT ดีกว่าในสิ่งที่พวกเขาคุ้นเคยอยู่แล้ว ปัจจุบันเราใช้ Perforce มีใครผ่านการขายที่คล้ายกันบ้างไหม? ลิงค์ / คำแนะนำที่ดี? หนึ่งในชัยชนะที่ยิ่งใหญ่คือเราสามารถทำงานได้โดยไม่ต้องเชื่อมต่อกับเครือข่าย IMO ที่ชนะอีกวิธีหนึ่งคือวิธีจัดการเพิ่ม / ชำระเงิน ยินดีรับคะแนนมากขึ้น! นอกจากนี้เรายังมี devs ทั้งหมดประมาณ 10-20 ตัว

6
git push heroku master Permission ถูกปฏิเสธ (publickey) ถึงแก่ชีวิต: ปลายรีโมทวางสายโดยไม่คาดคิด
โปรดแก้ตัวด้วยความไม่พอใจเล็กน้อยซึ่งฉันจะพยายามตรวจสอบต่อไปเนื่องจาก Heroku ใช้ SO ในการสนับสนุนลูกค้า (ซึ่งฉันคิดว่ามันแย่ที่จะพูดน้อยที่สุด) ในช่วงห้าชั่วโมงที่ผ่านมาฉันพยายามขอแอปพลิเคชันเพื่อเผยแพร่ แต่มักจะมีบางอย่างผิดพลาดกับคีย์ ฉันได้อ่านบทความหลายสิบบทความและลองใช้เคล็ดลับหลังจากเคล็ดลับในความพยายามที่จะหาว่า Heroku กำลังทำอะไรอยู่ในกระบวนการที่โง่เขลาและทึบแสงอย่างสมบูรณ์ กรณีการใช้งานของฉันไม่ใช่เรื่องยาก: ฉันได้สร้างคู่คีย์ใหม่สำหรับแอป heroku ของฉัน ฉันตั้งค่าคีย์นั้นให้เป็นคีย์ของฉัน: > heroku keys === travis@xxxx.com Keys ssh-rsa AAAAB3NzaC...avOqfA7ZBd travis@xxxx.com ฉันสามารถเข้าสู่ระบบและ "สร้าง" แอปพลิเคชัน (ชื่อโง่ ๆ เนื่องจากดูเหมือนว่ากำลังสร้าง git repo ไม่ใช่แอปประเภทใด ๆ ) โดยไม่มีปัญหา แต่ทุก * * * * * * * * เลวเวลาฉันพยายามที่จะผลักดัน app ของฉันฉันจะได้รับ: > …
85 git  heroku 

6
วิธีดูการแก้ไข Git ระยะไกลบน Heroku
สำหรับการปรับใช้กับ Heroku ฉันใช้git push heroku master. แต่ฉันจะดูได้อย่างไรว่าการแก้ไขใดที่ฉันผลักดันเป็น heroku (ฉันมักจะสงสัยว่าฉันดันเวอร์ชั่นล่าสุดขึ้นมา) สำหรับผู้ที่ไม่คุ้นเคยสคริปต์การสร้างของ Heroku จะสร้างที่เก็บ git ระยะไกลที่คุณส่งไป เมื่อกดรหัสจะถูกปรับใช้อย่างน่าอัศจรรย์ Heroku เพิ่มพื้นที่เก็บข้อมูลระยะไกลให้กับโลคัลในรูปแบบ: $ git remote add heroku git@heroku.com:appname.git ข้อมูลเพิ่มเติมในคู่มือของ Heroku "การปรับใช้กับ Git" คำถามคือฉันจะดูเวอร์ชันล่าสุดในที่เก็บ Heroku ได้อย่างไร
85 git  heroku  git-remote 

4
ฉันจะเปลี่ยนชื่อที่เก็บ Git ที่สร้างด้วย gitolite ได้อย่างไร
ฉันสร้างที่เก็บ Git โดยใช้ gitolite ตอนนี้ฉันต้องการเปลี่ยนชื่อที่เก็บนั้น ฉันจะทำเช่นนี้ได้อย่างไร? ใน readme ของ gitolite บอกว่าฉันไม่ควรทำงานบนเซิร์ฟเวอร์โดยตรง แต่ฉันเดาว่าฉันต้องทำงานบนเซิร์ฟเวอร์ในกรณีนี้ใช่มั้ย?
85 git  gitolite 

4
การยุบประวัติของที่เก็บ git
เรามีโครงการคอมไพล์ซึ่งมีประวัติอันยิ่งใหญ่ โดยเฉพาะอย่างยิ่งในช่วงต้นโครงการมีไฟล์ทรัพยากรไบนารีจำนวนมากในโครงการตอนนี้สิ่งเหล่านี้ถูกลบออกเนื่องจากเป็นทรัพยากรภายนอกอย่างมีประสิทธิภาพ อย่างไรก็ตามขนาดของพื้นที่เก็บข้อมูลของเราคือ> 200MB (ขณะนี้การชำระเงินทั้งหมดอยู่ที่ ~ 20MB) เนื่องจากมีไฟล์เหล่านี้ก่อนหน้านี้ สิ่งที่เราต้องการทำคือ "ยุบ" ประวัติเพื่อให้ที่เก็บดูเหมือนถูกสร้างขึ้นจากการแก้ไขในภายหลังมากกว่าที่เป็นอยู่ ตัวอย่างเช่น 1-----2-----3-----4-----+---+---+ \ / +-----+---+---+ สร้างที่เก็บแล้ว เพิ่มไฟล์ไบนารีชุดใหญ่ ไฟล์ไบนารีชุดใหญ่ถูกลบออก 'เริ่มต้น' ที่ตั้งใจไว้ใหม่ของที่เก็บ ดังนั้นเราจึงต้องการสูญเสียประวัติโครงการก่อนถึงจุดหนึ่ง ณ จุดนี้มีเพียงสาขาเดียวดังนั้นจึงไม่มีความยุ่งยากในการพยายามจัดการกับจุดเริ่มต้นหลาย ๆ จุดเป็นต้นอย่างไรก็ตามเราไม่ต้องการเสียประวัติทั้งหมดและเริ่มที่เก็บใหม่ด้วยเวอร์ชันปัจจุบัน เป็นไปได้หรือเราถึงวาระที่จะมีพื้นที่เก็บข้อมูลที่ป่องตลอดไป?

1
git log - นับอย่างไร?
ฉันมีที่เก็บการทดสอบอย่างง่ายพร้อมด้วยการคอมมิทหลายรายการและต้องการดูบันทึกการกรองวันที่และเวลา: บันทึก $ git --author = "automatix" --since = "2013-01-30" - สวย - ทดสอบ กระทำ ea0719bef142659fa561c9d040b2120012ed0184 วันที่: พฤ 31 ม.ค. 02:03:12 น. 2556 +0100 กระทำ ab4a8387bc4d9bdb4f67212df77eb1fc3d8b6304 วันที่: พฤ 31 ม.ค. 01:59:11 น. 2556 +0100 กระทำ a0b027beba2cd03571bb9475b9db9542f8efe990 วันที่: พฤ 31 ม.ค. 01:50:38 น. 2556 +0100 กระทำ add77c8fe2ba9254c11b98e14facede3420dc51c วันที่: พฤ 31 ม.ค. …
85 git  git-log 

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