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

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

6
จะรับประวัติการกระทำเพียงสาขาเดียวได้อย่างไร?
สมมติว่าฉันสร้างสาขาใหม่my_experimentจาก masterและทำสัญญาหลายmy_experimentรายการ ถ้าฉันทำgit logเมื่อใดmy_experimentฉันจะเห็นการคอมมิตที่ทำกับสาขานี้ แต่ยังรวมถึงการคอมมิตmasterก่อนที่จะสร้างmy_experimentsสาขา ฉันจะพบว่ามีประโยชน์มากในการดูประวัติของการกระทำทั้งหมดที่มีต่อmy_experimentsสาขาจนกว่ามันจะเข้าสู่การสร้างสาขานั้น - ประวัติศาสตร์ที่แท้จริงของสาขานั้นอย่างมีประสิทธิภาพ มิฉะนั้นฉันจะไม่ชัดเจนเมื่อดูบันทึกว่ามีการกระทำในmy_experimentsสาขาหรือไม่ มีวิธีดำเนินการกับ Git หรือไม่?
129 git  git-log 

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

10
GitHub โคลนจากคำขอดึง?
ฉันต้องการโคลนที่เก็บจาก GitHub ปัญหาคือฉันไม่ต้องการสาขาหลัก ฉันต้องการเวอร์ชันในคำขอดึงที่ไม่ได้รับการอนุมัตินี้ เป็นไปได้ไหมที่ฉันจะโคลนเวอร์ชันคำขอดึงแทนที่เก็บหลัก
129 git  github  pull-request 

3
จะเพิกเฉยไดเรคทอรี / ไฟล์ที่ซ่อนอยู่ซ้ำ ๆ ใน repository ได้อย่างไร?
ฉันต้องการให้ Git เพิกเฉยต่อไฟล์และไดเรกทอรีที่ซ่อนอยู่ทั้งหมด กล่าวคือ .aptitude .ssh/ .bash_rc config/.hidden มีกฎง่ายๆที่จะครอบคลุมสิ่งนี้โดยไม่เพิ่มเฉพาะแต่ละรายการหรือไม่
128 git  gitignore 

10
GIT: ชำระเงินไปยังโฟลเดอร์เฉพาะ
ฉันต้องการใช้สิ่งที่คล้ายกับ: git checkout -- <path>/<file> แต่ฉันต้องการเช็คเอาต์ไฟล์ไปยังโฟลเดอร์บางโฟลเดอร์ที่ฉันเลือกแทนที่จะเขียนทับใน<path>/<file>เครื่อง ความคิดใด ๆ ?
128 git 

2
การผลักดันโมดูลย่อย Git
หากฉันแก้ไขโมดูลย่อยฉันสามารถส่งคอมมิตกลับไปยังจุดเริ่มต้นของโมดูลย่อยได้หรือไม่หรือต้องใช้การโคลน ถ้าโคลนฉันจะเก็บโคลนไว้ในที่เก็บอื่นได้หรือไม่?

8
การตรวจสอบสิทธิ์ GitHub ล้มเหลวผ่าน https ส่งคืนที่อยู่อีเมลผิด
การเริ่มต้นการพุชหรือการดำเนินการอื่น ๆ กับ GitHub จากบรรทัดคำสั่ง (ผ่าน https ไม่ใช่ ssh) ที่เรียกชื่อผู้ใช้และรหัสผ่านไม่เพียง แต่ล้มเหลว แต่เมื่อทำเช่นนั้นจะส่งกลับ Username for 'https://github.com': username Password for 'https://username@github.com': remote: Invalid username or password. fatal: Authentication failed for 'https://github.com/username/repository.git/' ฉันไม่มีที่@github.comอยู่ รหัสผ่านและชื่อผู้ใช้ถูกต้อง ฉันรู้ว่าฉันสามารถเปลี่ยนเป็น SSH และใช้คีย์ได้ แต่นั่นไม่ได้ตอบโจทย์ว่าทำไมการตรวจสอบสิทธิ์จึงล้มเหลวบน https
128 git  github  https 

23
Git 'fatal: ไม่สามารถเขียนไฟล์ดัชนีใหม่'
ฉันเคยเห็นกระทู้อื่น ๆ เกี่ยวกับเรื่องนี้มากมายและไม่ได้ช่วยอะไร ฉันมี repo ที่เรียบง่าย - ไฟล์ JavaScript สองไฟล์ ฉันมี Macbook 100+ GB เมื่อฉันพยายามย้ายไฟล์ไปไว้ในไดเร็กทอรีย่อยและจัดลำดับการเปลี่ยนแปลงที่ฉันได้รับ ... ร้ายแรง: ไม่สามารถเขียนไฟล์ดัชนีใหม่ได้ สิ่งนี้เกิดขึ้นไม่ว่าฉันจะดำเนินการทั้งหมดในเทอร์มินัลหรือถ้าฉันใช้ GUI เช่น SourceTree นอกจากนี้ไฟล์ใดไฟล์หนึ่งจะถูกล็อกและฉันไม่สามารถลบไดเร็กทอรีการทำงานได้จนกว่าฉันจะออกจากระบบและกลับเข้ามาใหม่ เหตุใดจึงเกิดขึ้น การล็อกป้องกันไม่ให้มีการจัดเตรียมบางอย่างหรือไม่? ถ้าเป็นเช่นนั้นฉันจะปลดล็อกไฟล์ปัญหาบน OS X ได้อย่างไร? repo ระยะไกลคือ Google Code หากนั่นสร้างความแตกต่างแม้ว่าฉันจะยังไม่ได้กดไปที่รีโมตก็ตาม ทุกอย่างเป็นของท้องถิ่น
128 git  locking 

9
ฉันจะแสดงรายการแท็กทั้งหมดในที่เก็บ Git ตามวันที่สร้างได้อย่างไร
ฉันต้องการวิธีที่จะแสดงรายการแท็กทั้งหมดในระบบของฉันตามวันที่สร้างขึ้น แต่ไม่แน่ใจว่าฉันสามารถรับข้อมูลนั้นผ่าน git-log ได้หรือไม่ ไอเดีย?
128 git 

6
จะทำอย่างไรให้ git แตกต่างกับไฟล์ที่ย้าย / เปลี่ยนชื่อ?
ฉันย้ายไฟล์โดยใช้git mv. ตอนนี้ฉันต้องการสร้างความแตกต่างในไฟล์ใหม่เพื่อเปรียบเทียบกับไฟล์เก่า (ด้วยชื่อเก่าตอนนี้ไม่มีอยู่จริง) ฉันต้องทำอย่างไร
128 git  diff  file-rename  mv 

3
จะลบ n สุดท้ายบน Github และในเครื่องได้อย่างไร?
ฉันกำลังพยายามลบ 2 คอมมิตสุดท้ายจากที่เก็บ GitHub ของฉัน ฉันได้ลองทำตามคำแนะนำที่นี่ : git push -f origin HEAD^^:master. ดูเหมือนว่าจะใช้งานได้เนื่องจากการกระทำสองครั้งสุดท้ายจะถูกลบออก จากนั้นฉันลบออกจากที่เก็บในเครื่องของฉันด้วยgit rebase -i HEAD~2. ฉันลบบรรทัดที่เกี่ยวข้องกับการกระทำเหล่านั้นและตรวจสอบgit logว่าได้ลบออกอย่างถูกต้อง หลังจากนั้นฉันทำการเปลี่ยนแปลงบางอย่างในที่เก็บในเครื่องของฉันทำการคอมมิตใหม่และกดไปที่ GitHub ปัญหาคือในบัญชี GitHub ของฉันฉันมีการคอมมิตสองครั้งก่อนหน้านี้ที่ฉันพยายามลบ ฉันคิดว่าปัญหาอยู่ในที่เก็บในเครื่องของฉันเพราะถ้าฉันโคลนที่เก็บ Github ของฉันไปยังท้องถิ่นของฉันและทำการเปลี่ยนแปลงบางอย่างที่นี่เมื่อฉันกดคอมมิตใหม่การคอมมิตเก่าเหล่านั้นจะไม่ถูกผลักไปที่ GitHub ความคิดใด ๆ ?
128 git  github  commit 

4
วิธีกำหนดค่า Git post Commit hook
จะเรียกงานสร้างจากระยะไกลจาก Jenkins ได้อย่างไร วิธีกำหนดค่า Git post Commit hook? ความต้องการของฉันคือเมื่อใดก็ตามที่มีการเปลี่ยนแปลงในที่เก็บ Git สำหรับโปรเจ็กต์หนึ่ง ๆ มันจะเริ่มสร้างเจนกินส์สำหรับโปรเจ็กต์นั้นโดยอัตโนมัติ ในส่วนการสร้างทริกเกอร์ของเจนกินส์ฉันเลือกการสร้างทริกเกอร์จากระยะไกล ใน.gitไดเร็กทอรีจะมีไดเร็กทอรี hooks ที่เราต้องกำหนดค่าโพสต์คอมมิตไฟล์ ฉันสับสนวิธีทริกเกอร์บิวด์จากที่นั่น (ฉันรู้ว่าบางส่วนเราควรใช้คำสั่ง curl) curl cmbuild.aln.com/jenkins/view/project name/job/myproject/buildwithparameters?Branch=feat-con ฉันได้วางคำสั่งนี้ในไดเร็กทอรี git server hooks ของฉัน (โพสต์คอมมิต hook) เมื่อใดก็ตามที่การเปลี่ยนแปลงเกิดขึ้นในที่เก็บมันกำลังเรียกใช้งานบิวด์อัตโนมัติ ฉันต้องการตรวจสอบในชุดการเปลี่ยนแปลงว่าในไฟล์ java อย่างน้อยหนึ่งไฟล์นั้นควรเริ่มการสร้างหรือไม่ สมมติว่าผู้พัฒนาเปลี่ยนเฉพาะไฟล์ xml หรือไฟล์คุณสมบัติที่ build ไม่ควรเริ่มทำงาน นอกจากxmlนี้สมมติว่า.javaไฟล์อยู่ที่นั่นการสร้างควรเริ่มต้น
128 git  jenkins  hook  commit 

6
วิธีการแปลงตัวชี้โมดูลย่อย Git กลับเป็นคอมมิตที่เก็บไว้ในที่เก็บข้อมูล
ฉันมีโมดูลย่อย git ใน repo คอมไพล์หลักของฉัน ตามที่ฉันเข้าใจ repo หลักจะจัดเก็บค่า SHA (ที่ใดที่หนึ่ง ... ) โดยชี้ไปที่การกระทำเฉพาะของโมดูลย่อยที่ "เชื่อมโยงกับ" ผมไปใน submodule git checkout some_other_branchของฉันและพิมพ์ ฉันไม่รู้ว่าฉันมาจากการกระทำใด ฉันต้องการเปลี่ยนกลับตัวชี้เพื่อให้ repo หลักและโมดูลย่อยซิงค์อีกครั้ง สัญชาตญาณแรก (อาจจะไร้เดียงสา) ของฉันคือการพูดgit reset --hardซึ่งดูเหมือนจะใช้ได้กับทุกอย่าง ฉันแปลกใจที่มันไม่ได้ผลกับสถานการณ์นี้ ดังนั้นฉันคิดว่าฉันสามารถพิมพ์git diffบันทึก SHA ID ที่ตัวชี้โมดูลย่อยเคยมีจากนั้นมุ่งหน้าไปยังโมดูลย่อยและgit checkout [SHA ID]... แต่ต้องมีวิธีที่ง่ายกว่านี้แน่ ๆ ? ในขณะที่ฉันยังคงเรียนรู้เกี่ยวกับ git submodules โปรดอย่าลังเลที่จะแก้ไขคำศัพท์ของฉันหากมีคำศัพท์สำหรับแนวคิดที่ฉันไม่รู้

4
เปลี่ยนกลับช่วงของคอมมิตในคอมไพล์
ฉันจะเปลี่ยนค่าคอมมิชชันในคอมไพล์ได้อย่างไร? จากการดูเอกสารgitrevisionsฉันไม่เห็นวิธีระบุช่วงที่ต้องการ ตัวอย่างเช่น: A -> B -> C -> D -> E -> HEAD ฉันต้องการเทียบเท่ากับ: git revert B-D ซึ่งผลลัพธ์จะเป็น: A -> B -> C -> D -> E -> F -> HEAD โดยที่ F มีการย้อนกลับของ BD รวม
128 git  revert  range 

2
ใช้คำสั่ง git“ log” ในโฟลเดอร์อื่น
ฉันมีไฟล์ php อยู่ในโฟลเดอร์ A (ซึ่งเป็นโครงการคอมไพล์) ในไฟล์ php เหล่านี้ฉันต้องการเรียกใช้ "git log" แต่สำหรับโฟลเดอร์ B โฟลเดอร์ B เป็นโปรเจ็กต์ git อื่น (ดังนั้นบันทึกจึงแตกต่างกันระหว่าง A และ B) ฉันจะทำสิ่งนั้นด้วยคำสั่งเชลล์ได้อย่างไร
128 git 

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