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

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

23
“ ไม่พบผู้ช่วยเหลือระยะไกลสำหรับ 'https'” ในระหว่างการคอมไพล์ git
ฉันไม่สามารถโคลนที่เก็บ HTTPS ฉันสามารถโคลน repos SSH ได้ดี แต่ไม่สามารถ repos HTTPS ฉันไม่สามารถทดสอบโปรโตคอล GIT ได้เนื่องจากฉันอยู่หลังไฟร์วอลล์ บริษัท นี่คือสิ่งที่ฉันพยายามทำ: $ git clone https://github.com/nvie/gitflow.git Cloning into gitflow... fatal: Unable to find remote helper for 'https' ฉันลองต่อไปนี้แล้ว (จากการค้นหาโดย Google) การล้างและติดตั้ง Git ผ่าน apt-get การติดตั้งbuild-depsสำหรับ Git ผ่านapt-get การติดตั้งไลบรารี dev curl การติดตั้งห้องสมุดต่างชาติ กำลังดาวน์โหลดแหล่ง Git และสิ่งปลูกสร้างโดยใช้: ./configure --prefix=/usr --with-curl --with-expat …
244 linux  git  ubuntu 


5
“ git pull” หรือ“ git merge” ระหว่างมาสเตอร์และสาขาการพัฒนา
ฉันมีmasterสาขาและdevelopสาขาสำหรับทำงานเกี่ยวกับการเปลี่ยนแปลงเล็กน้อย ฉันต้องรวมการเปลี่ยนแปลงจากmasterเข้าdevelopด้วยกัน แต่ในที่สุดจะรวมทุกอย่างdevelopเข้าmasterด้วยกัน ฉันมีกระบวนการทำงานที่ต่างกันสองประการในใจ: git pull origin masterเข้าสู่developสาขา git merge masterเข้าสู่developสาขา วิธีใดดีที่สุดในการทำเช่นนี้และเพราะเหตุใด
243 git  workflow 

14
ตรวจสอบดัชนีสกปรกหรือไฟล์ที่ไม่ได้ติดตามด้วย Git
ฉันจะตรวจสอบได้อย่างไรว่าฉันมีการเปลี่ยนแปลงที่ไม่มีข้อผูกมัดในที่เก็บ git ของฉัน: เพิ่มการเปลี่ยนแปลงในดัชนีแล้ว แต่ไม่ได้กระทำ ไฟล์ที่ไม่ได้ติดตาม จากสคริปต์หรือไม่? git-status ดูเหมือนว่าจะส่งคืนค่าศูนย์ด้วย git เวอร์ชัน 1.6.4.2 เสมอ
243 git  shell 


7
ฉันจะยกเลิก 'คอมไพล์คอมมิชชัน' ได้อย่างไรในพื้นที่และบนรีโมตหลังจาก "git push"
ผมได้ดำเนินการตามมาด้วยgit commit git pushฉันจะเปลี่ยนการเปลี่ยนแปลงนั้นทั้งที่เก็บข้อมูลภายในและระยะไกลได้อย่างไร $ git log commit 364705c23011b0fc6a7ca2d80c86cef4a7c4db7ac8 Author: Michael Silver <Michael Silver@gmail.com> Date: Tue Jun 11 12:24:23 2011 -0700
242 git  git-push  git-commit 

4
ไดเรกทอรีทำงานหลายรายการด้วย Git
ฉันไม่แน่ใจว่านี่เป็นสิ่งที่ Git สนับสนุน แต่ในทางทฤษฎีแล้วดูเหมือนว่ามันควรจะทำงานให้ฉัน เวิร์กโฟลว์ของฉันมักจะเกี่ยวข้องกับการแก้ไขไฟล์ในหลายสาขาพร้อมกัน กล่าวอีกนัยหนึ่งฉันมักจะต้องการเปิดไฟล์ไม่กี่ไฟล์ในสาขาหนึ่งคือในขณะที่ฉันแก้ไขเนื้อหาของไฟล์อื่นในสาขาอื่น วิธีแก้ปัญหาทั่วไปของฉันคือทำการเช็คเอาต์สองครั้ง แต่มันเป็นความอัปยศที่ฉันไม่สามารถแชร์สาขาและอ้างอิงระหว่างพวกเขาได้ สิ่งที่ฉันต้องการคือมีไดเรกทอรีการทำงานสองแห่งที่จัดการโดยโฟลเดอร์. git เดียวกัน ฉันรู้ถึงวิธีแก้ไขปัญหา git clone ในพื้นที่ (ค่าเริ่มต้นซึ่งคือการแชร์วัตถุแบบ hardlink และตัวเลือก --shared ซึ่งตั้งค่าที่เก็บวัตถุสำรองด้วย repo ดั้งเดิม) แต่โซลูชันเหล่านี้ลดการใช้พื้นที่ดิสก์เท่านั้น และโดยเฉพาะอย่างยิ่งในกรณีของ --shared ดูเหมือนจะเต็มไปด้วยอันตราย มีวิธีใช้โฟลเดอร์. git หนึ่งโฟลเดอร์หรือไม่และมีไดเรกทอรีทำงานสองอันที่สำรองข้อมูลไว้หรือไม่ หรือ Git hardcoded มีไดเรกทอรีทำงานเพียงหนึ่งเช็คเอาท์ตลอดเวลา?
242 git 

4
อัพเดต God submodule
ฉันไม่ชัดเจนเกี่ยวกับความหมายต่อไปนี้ (จากเอกสารอัปเดต submodule Git ): ... จะทำให้ส่วนหัวของ submodules ยกเว้น--rebaseหรือ--mergeระบุไว้ ... อย่างไร--rebase/ --mergeสิ่งที่เปลี่ยนแปลง? กรณีการใช้งานหลักของฉันคือการมีที่เก็บส่วนกลางจำนวนมากซึ่งฉันจะฝังผ่าน submodules ไปยังที่เก็บอื่น ๆ ฉันต้องการที่จะสามารถปรับปรุงที่เก็บข้อมูลส่วนกลางเหล่านี้ไม่ว่าจะอยู่ในตำแหน่งเดิมโดยตรงหรือจากภายในคลังเก็บของที่ฝังอยู่ (ที่เก็บที่ใช้ผ่านทาง submodule) จากภายใน submodules เหล่านี้ฉันสามารถสร้าง branch / modified และใช้ push / pull เหมือนกับที่ใช้ใน repositories ปกติหรือมีสิ่งที่ต้องระวังหรือไม่? ฉันจะก้าวหน้าไปถึงการส่งซับออเดอร์ที่อ้างอิงจากการพูด (ติดแท็ก) 1.0 ถึง 1.1 (แม้ว่าส่วนหัวของที่เก็บต้นฉบับนั้นมีอยู่ที่ 2.0) หรือเลือกการกระทำของสาขาที่ใช้เลย

6
การส่งค่าคอมมิทว่างเปล่าเป็นรีโมต
ฉันผลักข้อตกลงไปที่รีโมท แต่ตอนนี้ฉันรู้แล้วว่าข้อความส่งมอบไม่ถูกต้อง ฉันต้องการเปลี่ยนข้อความยืนยัน แต่ AFAIK ไม่สามารถทำได้ ดังนั้นฉันจึงตัดสินใจที่จะสร้างการมอบหมายที่ว่างเปล่าด้วยข้อความที่ถูกต้อง: git commit --allow-empty มีข้อเสีย / ผลที่ตามมาจากการผลักว่างเปล่าหรือไม่? มีปัญหาอะไรบ้างที่ฉันอาจเผชิญในอนาคตเพราะความว่างเปล่าอันนี้?
242 git  git-commit 

7
รับข้อผิดพลาดร้ายแรงในคอมไพล์สำหรับรายการหลายขั้นตอน
การใช้ Git เวอร์ชั่น 2.2.0 กับเอ็นจิ้นเกม unity บน OS X และต้องการที่จะส่งรหัส ฉันเพิ่มทุกอย่างและไม่ได้รับข้อความแสดงข้อผิดพลาด จากนั้นคอมมิต -m และได้รับข้อความแสดงข้อผิดพลาดนี้: fatal: multiple stage entries for merged file 'Assets/Prefabs/Resources' ฉันไม่ได้สังเกตเห็นว่าฉันผลักมันไม่ได้ให้ข้อความแสดงข้อผิดพลาดจริง ๆ แล้วพูดEverything up-to-date ดังนั้นฉันจึงตรวจสอบบิตบูท ดังนั้นฉันจึงตรวจสอบบันทึกในเครื่องของฉันและนั่นก็ไม่ได้แสดงการกระทำของฉัน ฉันดู google เพื่อหาคำตอบ ... และไม่มีอะไร ข้อผิดพลาดนี้คืออะไร? และฉันจะแก้ไขได้อย่างไร
241 git 

9
จะลบรายการบันทึกการกระทำที่เลือกไว้จากที่เก็บ Git ในขณะที่ยังคงการเปลี่ยนแปลงได้อย่างไร
ฉันต้องการลบรายการบันทึกการกระทำที่เลือกจากแผนผังการส่งข้อมูลเชิงเส้นเพื่อให้รายการไม่แสดงในบันทึกการส่ง ต้นไม้ที่ฉันสร้างดูเหมือนว่า: R--A--B--C--D--E--HEAD ฉันต้องการลบรายการ B และ C เพื่อไม่ให้แสดงในบันทึกการกระทำ แต่ควรเปลี่ยนจาก A เป็น D อาจจะด้วยการแนะนำการกระทำเพียงครั้งเดียวเพื่อให้ B และ C กลายเป็น BC และต้นไม้ดูเหมือน R--A--BC--D--E--HEAD หรือในอุดมคติแล้วหลังจาก A มาถึง D โดยตรง D 'แสดงการเปลี่ยนแปลงจาก A ถึง B, B ถึง C และ C ถึง D R--A--D'--E--HEAD เป็นไปได้ไหม ถ้าใช่เป็นอย่างไร นี่เป็นโครงการใหม่ที่ค่อนข้างไม่มีสาขาในขณะนี้ดังนั้นจึงไม่มีการรวมกัน
241 git  commit 

12
คอมไพล์ไฟล์, เปิดไฟล์ diff ทั้งหมดทันที, ไม่ได้อยู่ในซีเรียล
พฤติกรรม diff git เริ่มต้นคือการเปิดแต่ละไฟล์ diff ในอนุกรม (รอให้ปิดไฟล์ก่อนหน้าก่อนที่จะเปิดไฟล์ถัดไป) ฉันกำลังมองหาวิธีเปิดไฟล์ทั้งหมดในครั้งเดียว - ใน BeyondCompare เช่นนี้จะเปิดไฟล์ทั้งหมดในแท็บภายในหน้าต่าง BC เดียวกัน สิ่งนี้จะทำให้ง่ายต่อการตรวจสอบชุดการเปลี่ยนแปลงที่ซับซ้อน ปัดกลับและส่งต่อระหว่างไฟล์ต่าง ๆ และข้ามไฟล์ที่ไม่สำคัญ
240 git  difftool 

7
โคลน repo คอมไพล์ส่วนตัวด้วย dockerfile
ฉันได้คัดลอกรหัสนี้จากสิ่งที่ดูเหมือนจะทำงานได้หลากหลาย dockerfiles นี่คือของฉัน: FROM ubuntu MAINTAINER Luke Crooks "luke@pumalo.org" # Update aptitude with new repo RUN apt-get update # Install software RUN apt-get install -y git python-virtualenv # Make ssh dir RUN mkdir /root/.ssh/ # Copy over private key, and set permissions ADD id_rsa /root/.ssh/id_rsa RUN chmod 700 /root/.ssh/id_rsa RUN …
240 git  bitbucket  docker 

11
“ การเปลี่ยนแปลงที่ไม่ได้จัดทำไว้สำหรับการกระทำ” หมายถึงอะไร
ฉันคิดว่าถ้าคุณต้องการติดตามไฟล์ที่คุณควร git add [files you want to track] Changes not staged for commitผมไม่ทราบว่าทำไมผมได้รับข้อความ หากไฟล์เหล่านั้นไม่ถูกจัดฉากไม่ควรgitแสดงให้ฉันเห็นว่าไฟล์เหล่านั้นเป็น Untrackedแบบนั้น สิ่งที่ฉันทำคือสร้างคุณสมบัติใหม่จาก developสาขาและทำงานในfeature/change_excel_formatสาขา ฉันคิดว่าไฟล์เหล่านั้นควรอยู่ใน stagedสถานะ แต่git statusบอกฉันChanges not staged for commit สั้นฉันเท่านั้นรู้ว่ามี 3 ขั้นตอนในการคอมไพล์ untracked, staged,committed คนใดคนหนึ่งสามารถบอกสิ่งที่เป็นเวทีสำหรับChanges not staged for commit ดังนั้นหากฉันแก้ไขไฟล์ a (แล้วใน repo) และประเภท git stคอมไพล์จะบอกฉันChanges not staged for commit ถ้าฉัน git aแล้วไฟล์aจะเป็นสิ่งต่อไปนี้staged status …
239 git 

5
มีหลาย `gitignore`s ขมวดคิ้วใน?
เว้นแต่ repo ประกอบด้วยโครงการอิสระหลายโครงการดูเหมือนว่าจะง่ายที่สุดที่จะมีเพียง.gitignoreไฟล์เดียวที่รูทของ repo มากกว่าโครงการอื่น ๆ มีวิธีปฏิบัติที่เป็นมาตรฐานที่ดีที่สุดสำหรับการวิเคราะห์นี้หรือออนไลน์เมื่อใดที่วิธีการหนึ่งดีกว่าวิธีอื่น?
239 git 

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