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

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


3
การอัปเดตและกระทำการอนุญาตเฉพาะไฟล์โดยใช้การควบคุมเวอร์ชัน git
เพิ่งเปลี่ยนsome.shไฟล์ให้กลายเป็นไฟล์เรียกทำงาน ( chmod 755 ...) สิทธิการใช้งานได้รับการอัพเดท แต่ไม่ใช่เนื้อหา มีวิธีที่จะกระทำไฟล์ลงในคอมไพล์เพื่อให้บิตปฏิบัติการจะถูกเรียกคืน / ตั้งอยู่บนโคลน / เช็คเอาต์ / ดึง ? ปรับปรุง:ฉันจะติดตามได้อย่างไรว่ามีการส่งการอนุญาตใหม่ให้githubหรือไม่
187 git 

3
Git ทำอะไรจริง ๆ เมื่อมันบอกว่ามันคือ“ การแก้ไขเดลตา”
ระหว่างการโคลนแรกของพื้นที่เก็บข้อมูล git แรกได้รับวัตถุ (ซึ่งชัดเจนเพียงพอ) และจากนั้นใช้เวลาประมาณ "การแก้ไข deltas" ในเวลาเดียวกัน เกิดอะไรขึ้นในช่วงโคลนนี้
187 git 

7
ไปรับผลลัพธ์ในข้อผิดพลาด 'แจ้งให้ปิดการใช้งาน terminal' สำหรับ repo ส่วนตัว Github
ฉันสร้างตัวอย่าง repo ส่วนตัว / myprivaterepo ส่วนตัวโดยใช้ Github UI จากเบราว์เซอร์ของฉัน จากนั้นฉันไปที่ไดเรกทอรี go (บนเดสก์ท็อป) และโคลน: $ cd $GOPATH $ go get github.com/examplesite/myprivaterepo จนถึงตอนนี้ดีมาก สร้างไฟล์ scheduler.go เพิ่มไปที่ repo และผลักดัน $ vim scheduler.go $ git add scheduler.go $ git commit $ git push ตกลงทุกคน แต่เมื่อฉันไปที่แล็ปท็อปที่สะอาดและพยายามโคลน repo ฉันได้รับข้อผิดพลาด: # Now on laptop, which doesn't yet …
187 git  go 

8
git stash -> ผสานการเปลี่ยนแปลงที่เก็บไว้กับการเปลี่ยนแปลงปัจจุบัน
ฉันทำการเปลี่ยนแปลงสาขาของฉันและรู้ว่าฉันลืมฉันได้ทำการเปลี่ยนแปลงที่จำเป็นอื่น ๆ กับสาขาดังกล่าว สิ่งที่ฉันต้องการคือวิธีผสานการเปลี่ยนแปลงที่ถูกจัดเก็บกับการเปลี่ยนแปลงปัจจุบัน มีวิธีทำเช่นนี้หรือไม่? ในที่สุดมันก็เพื่อความสะดวกในที่สุดฉันก็ยอมแพ้และมุ่งมั่นที่จะทำการเปลี่ยนแปลงในครั้งแรกของฉันจากนั้นการเปลี่ยนแปลงที่ทำไปแล้ว
187 git  git-merge  git-stash 

5
ฉันจะสร้างแพทช์จากคอมไพล์ล่าสุดของฉันได้อย่างไร?
ฉันกำลังมองหาคำสั่งเวทมนต์ในการสร้างแพทช์จากการคอมมิทล่าสุด บางครั้งเวิร์กโฟลว์ของฉันมีลักษณะเช่นนี้ vi some.txt git add some.txt git commit -m "some change" และตอนนี้ฉันแค่อยากจะเขียน git create-patch-from-last-commit-to-file SOME-PATCH0001.patch แต่สิ่งที่ฉันควรใส่มีแทนcreate-patch-from-last-commit-to-file?
186 git  patch 

6
กลยุทธ์สาขา Git สำหรับทีม dev ขนาดเล็ก [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน5 ปีที่ผ่านมา ปรับปรุงคำถามนี้ เรามีเว็บแอพที่เราอัพเดทและวางจำหน่ายเกือบทุกวัน เราใช้คอมไพล์เป็น VCS ของเราและกลยุทธ์การแบ่งสาขาในปัจจุบันของเรานั้นง่ายและแตกหัก: เรามีสาขาหลักและเราตรวจสอบการเปลี่ยนแปลงที่เรารู้สึกดีเกี่ยวกับมัน ใช้งานได้ แต่จนกว่าเราจะตรวจสอบในการเปลี่ยนแปลงที่ทำลาย ใครบ้างมีกลยุทธ์สาขา git ที่ชื่นชอบสำหรับทีมขนาดเล็กซึ่งตรงตามข้อกำหนดต่อไปนี้: ทำงานได้ดีสำหรับทีมนักพัฒนา 2 ถึง 3 คน น้ำหนักเบาและไม่มากเกินไป อนุญาตให้ devs แยกทำงานกับการแก้ไขข้อบกพร่องและคุณสมบัติขนาดใหญ่ได้อย่างง่ายดาย ช่วยให้เราสามารถรักษาสาขาที่มั่นคง (สำหรับช่วงเวลา 'โอ้อึ' เมื่อเราต้องทำให้เซิร์ฟเวอร์ที่ใช้งานจริงของเราทำงาน) เป็นการดีที่ฉันชอบที่จะเห็นกระบวนการทีละขั้นตอนของคุณสำหรับการทำงานกับข้อผิดพลาดใหม่
186 git  branch  git-branch 

11
“ ไม่สามารถอัปเดตพา ธ และเปลี่ยนเป็นสาขาได้ในเวลาเดียวกัน”
บางครั้งฉันใช้checkout -bตัวเลือกในการสร้างสาขาใหม่ตรวจสอบในเวลาเดียวกันและตั้งค่าการติดตามในคำสั่งเดียว ในสภาพแวดล้อมใหม่ฉันได้รับข้อผิดพลาดนี้: $ git checkout -b test --track origin/master fatal: Cannot update paths and switch to branch 'test' at the same time. Did you intend to checkout 'origin/master' which can not be resolved as commit? ทำไม Git ถึงไม่ชอบ สิ่งนี้เคยทำงานกับ repo เดียวกัน
186 git  git-checkout 

11
วิธีการ "แสดงคอมไพล์" ผสานกระทำด้วยการรวมเอาท์พุท diff รวมแม้ทุกไฟล์ที่เปลี่ยนแปลงเห็นด้วยกับหนึ่งในผู้ปกครอง?
หลังจากทำการผสาน "แบบง่าย" (อันที่ไม่มีข้อขัดแย้ง) git showโดยปกติแล้วจะแสดงเฉพาะสิ่งที่ต้องการ commit 0e1329e551a5700614a2a34d8101e92fd9f2cad6 (HEAD, master) Merge: fc17405 ee2de56 Author: Tilman Vogel <email@email> Date: Tue Feb 22 00:27:17 2011 +0100 Merge branch 'testing' into master นี่เป็นเพราะสำหรับการผสานให้git showใช้รูปแบบ diff ที่รวมกันซึ่งไม่ใช้ไฟล์ที่เห็นด้วยกับเวอร์ชันหลักอย่างใดอย่างหนึ่ง มีวิธีการบังคับให้คอมไพล์ยังคงแสดงความแตกต่างทั้งหมดในโหมด diff รวมกันหรือไม่? การทำgit show -mจะแสดงความแตกต่าง (ใช้ pairwise ต่างกันระหว่างเวอร์ชั่นใหม่และเวอร์ชั่นพาเรนต์ตามลำดับ) แต่ฉันต้องการที่จะให้มีความแตกต่างที่ทำเครื่องหมายด้วย +/- ในคอลัมน์ที่เกี่ยวข้องเช่นในโหมดรวม
186 git  merge 


5
เลิกทำ“ git add <dir>” หรือไม่
ฉันเพิ่มไฟล์ผิดโดยใช้คำสั่ง "git add dir" ฉันยังไม่ได้เรียกใช้ "คอมมิทคอม" มีวิธีลบ dir นี้และทุกอย่างที่มีอยู่ภายในจากการกระทำหรือไม่ ฉันลองgit reset dirแล้ว แต่มันไม่ทำงาน เห็นได้ชัดว่าgit reset fileเป็นวิธีการยกเลิก แต่ฉันมีไฟล์จำนวนมากและมีเวลาน้อยมาก
186 git  git-reset 

3
การยกเลิกป๊อปที่เก็บคอมไพล์โดยไม่ตั้งใจ
ฉัน stashed git stash popเปลี่ยนแปลงบางท้องถิ่นก่อนที่จะทำผสานซับซ้อนได้ผสานแล้วโง่ลืมที่จะกระทำก่อนที่จะใช้ ป๊อปสร้างปัญหาบางอย่าง (การเรียกใช้วิธีที่ไม่ดีใน codebase ขนาดใหญ่) ซึ่งพิสูจน์ได้ยากที่จะติดตาม ฉันวิ่งgit stash showดังนั้นอย่างน้อยฉันก็รู้ว่าไฟล์ใดถูกเปลี่ยนแปลง ถ้าไม่มีอะไรฉันเดาว่านี่เป็นบทเรียนที่จะต้องทำมากกว่านี้ คำถามของฉัน: เป็นไปได้ไหมที่จะเลิกทำป๊อปสะสมโดยไม่เลิกทำการผสาน?
186 git  git-stash 

5
จะทำให้ Git pull ใช้ rebase เป็นค่าเริ่มต้นสำหรับที่เก็บข้อมูลทั้งหมดของฉันได้อย่างไร
มีวิธีการตั้งค่าพื้นที่เก็บข้อมูลโฮสต์ Git ที่git pullทำจากโคลน (ท้องถิ่น) ของใช้--rebaseโดยค่าเริ่มต้น? จากการค้นหาใน Stack Overflow ฉันได้เรียนรู้เกี่ยวกับbranch.autosetuprebaseแต่ต้องกำหนดค่าแต่ละโคลน โฟลว์โปรเจ็กต์ของฉันถูกตั้งค่าเพื่อให้เราpullเป็นdevelopสาขาก่อนที่จะmergeอิงสาขาฟีเจอร์ สิ่งนี้ใช้pullเกือบทุก--rebaseครั้งดังนั้นฉันจึงพยายามหาว่านี่จะเป็นค่าเริ่มต้นหรือไม่
186 git 

3
ทำไม git จึงกลับบ่นเกี่ยวกับตัวเลือก -m ที่หายไป?
ดังนั้นฉันจึงทำงานในโครงการร่วมกับคนอื่นและมีส้อม github หลายตัวที่ใช้งานได้ มีคนเพิ่งแก้ไขปัญหาและรวมกับส้อมของเขา แต่แล้วฉันก็ตระหนักว่าฉันสามารถหาทางออกที่ดีกว่า ฉันต้องการคืนความมุ่งมั่นที่เพิ่งทำไป ฉันพยายามทำสิ่งนี้ด้วยgit revert HEADแต่มันทำให้ฉันมีข้อผิดพลาดนี้: ร้ายแรง: Commit &lt;SHA1&gt; เป็นผสาน แต่ไม่มีการกำหนดตัวเลือก -m นั่นหมายความว่าอย่างไร? เมื่อฉันรวมและมุ่งมั่นฉันใช้ตัวเลือก -m เพื่อพูดว่า "ผสานกับ &lt;ชื่อผู้ใช้&gt;" ฉันทำอะไรผิดที่นี่
185 git  github  git-revert 

18
วิธีการทำให้ Git เพิกเฉยไฟล์. aaa ที่สร้างโดย Rubymine
ฉันใช้ Rubymine สำหรับโครงการ Rails บ่อยครั้งที่ Rubymine ทำการเปลี่ยนแปลง.idea/*ไฟล์ที่ฉันไม่สนใจ แต่มันทำให้ฉันไม่สามารถเช็คสาขาใหม่และทำให้เวอร์ชันของฉัน.idea/แตกต่างจากเพื่อนร่วมงานของฉัน เราได้เพิ่มแล้ว.idea/ไปแต่มันก็ช่วยให้การติดตามการเปลี่ยนแปลงใน.gitignore .ideaฉันจะทำสิ่งนี้ในวิธีที่ถูกต้องได้อย่างไร? ด้านล่างเป็นข้อความแสดงข้อผิดพลาดทั่วไปที่ฉันได้รับ: error: Your local changes to the following files would be overwritten by checkout: .idea/workspace.xml
185 git  rubymine 

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