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

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

16
ใช้ Git กับ Visual Studio [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน6 ปีที่ผ่านมา ในฐานะผู้ใช้Visual SourceSafeเป็นเวลานาน(และผู้เกลียดชัง) ฉันกำลังพูดถึงการเปลี่ยนไปใช้SVNกับเพื่อนร่วมงาน เขาแนะนำให้ใช้Gitแทน เนื่องจากเห็นได้ชัดว่ามันสามารถใช้เป็นเพียร์ทูเพียร์โดยไม่มีเซิร์ฟเวอร์กลาง (เราเป็นทีมนักพัฒนา 3 คน) ฉันไม่สามารถค้นหาเครื่องมือใด ๆ ที่รวม Git กับ Visual Studio ได้ - สิ่งนั้นมีอยู่จริงหรือไม่? มีเทคโนโลยีใดบ้างสำหรับการใช้ Git กับ Visual Studio และฉันต้องรู้อะไรเกี่ยวกับความแตกต่างก่อนที่จะเริ่ม?
1455 visual-studio  git 

22
แก้ไข Git ที่ถอดออกหัวได้หรือไม่
ฉันทำงานบางอย่างในที่เก็บของฉันและสังเกตว่าไฟล์มีการเปลี่ยนแปลงในเครื่อง ฉันไม่ต้องการพวกเขาอีกต่อไปดังนั้นฉันจึงลบไฟล์โดยคิดว่าฉันสามารถเช็คเอาต์สำเนาใหม่ได้ ฉันต้องการทำ Git ที่เทียบเท่า svn up . git pullดูเหมือนว่าการใช้งานจะไม่ทำงาน การค้นหาแบบสุ่มบางอย่างทำให้ฉันไปยังไซต์ที่มีคนแนะนำให้ทำ git checkout HEAD^ src/ ( srcเป็นไดเรกทอรีที่มีไฟล์ที่ถูกลบ) ตอนนี้ฉันรู้แล้วว่าฉันมีหัวที่แยกออก ฉันไม่รู้ว่ามันคืออะไร ฉันจะยกเลิกได้อย่างไร
1453 git 

25
จะเลือกผสานหรือรับการเปลี่ยนแปลงจากสาขาอื่นใน Git ได้อย่างไร?
ฉันใช้คอมไพล์ในโครงการใหม่ที่มีสองขนานกัน แต่ปัจจุบันกำลังทำการทดลอง - สาขาการพัฒนา: master: นำเข้า codebase ที่มีอยู่บวกกับ mods เล็กน้อยที่โดยทั่วไปฉันแน่ใจ exp1: สาขาทดลอง # 1 exp2: สาขาทดลอง # 2 exp1และexp2เป็นตัวแทนของสองแนวทางสถาปัตยกรรมที่แตกต่างกันมาก จนกว่าฉันจะไปได้ไกลกว่านั้นฉันก็ไม่รู้ว่าจะใช้อันไหน (ถ้ามี) เมื่อฉันก้าวหน้าในสาขาหนึ่งบางครั้งฉันก็มีการแก้ไขที่จะเป็นประโยชน์ในสาขาอื่นและต้องการที่จะรวมเฉพาะที่ วิธีที่ดีที่สุดในการรวมการเปลี่ยนแปลงแบบเลือกจากสาขาการพัฒนาหนึ่งไปยังอีกสาขาหนึ่งคืออะไรในขณะที่ทิ้งทุกอย่างอื่นไว้ แนวทางที่ฉันได้พิจารณา: git merge --no-commit ตามด้วย unstaging ด้วยตนเองของการแก้ไขจำนวนมากที่ฉันไม่ต้องการทำร่วมกันระหว่างสาขา การคัดลอกไฟล์ทั่วไปด้วยตนเองไปยังไดเรกทอรีชั่วคราวแล้วgit checkoutย้ายไปที่สาขาอื่นจากนั้นคัดลอกออกจากไดเรกทอรีชั่วคราวด้วยตนเองไปยังแผนผังการทำงาน ความแปรปรวนด้านบน ยกเลิกexpสาขาในตอนนี้และใช้ที่เก็บข้อมูลเพิ่มเติมในพื้นที่สองแห่งสำหรับการทดลอง ทำให้การคัดลอกไฟล์ด้วยตนเองทำได้ง่ายขึ้น ทั้งสามวิธีการเหล่านี้ดูเหมือนน่าเบื่อและผิดพลาดได้ง่าย ฉันหวังว่าจะมีวิธีการที่ดีกว่า สิ่งที่คล้ายกับพารามิเตอร์พา ธ ตัวกรองที่จะทำให้git-mergeเลือกได้มากกว่า

15
คุณจะซ่อนไฟล์ที่ไม่ได้ติดตามได้อย่างไร
ฉันมีการเปลี่ยนแปลงกับไฟล์รวมถึงไฟล์ใหม่และต้องการใช้ git stash เพื่อลบมันออกไปในขณะที่ฉันสลับไปใช้งานอื่น แต่ git stash ด้วยตัวเองจะหยุดการเปลี่ยนแปลงไฟล์ที่มีอยู่เท่านั้น ไฟล์ใหม่ยังคงอยู่ในแผนผังการทำงานของฉันทำให้งานในอนาคตของฉันยุ่งเหยิง ฉันจะซ่อนไฟล์ที่ไม่ได้ติดตามนี้ได้อย่างไร
1436 git  git-stash 

15
วิธี grep (ค้นหา) รหัสที่กำหนดในประวัติ Git
ฉันได้ลบไฟล์หรือรหัสบางส่วนในไฟล์บางครั้งในอดีต ฉันสามารถ grep ในเนื้อหา (ไม่ใช่ในการส่งข้อความ)? วิธีแก้ปัญหาที่แย่มากคือการ grep บันทึก: git log -p | grep <pattern> อย่างไรก็ตามสิ่งนี้จะไม่ส่งคืนแฮชการกระทำทันที ฉันเล่นไปรอบ ๆ โดยgit grepไม่มีประโยชน์
1434 git  grep  diff 

21
วิธีการตั้งชื่อและดึงที่ซ่อนตามชื่อในคอมไพล์?
ฉันถูกเสมอภายใต้ความประทับใจที่คุณจะให้ซ่อนชื่อโดยการทำซึ่งคุณสามารถนำไปใช้ในภายหลังด้วยการทำgit stash save stashname git stash apply stashnameแต่ดูเหมือนว่าในกรณีนี้สิ่งที่เกิดขึ้นคือstashnameจะใช้เป็นคำอธิบายที่ซ่อน ไม่มีทางที่จะตั้งชื่อที่ซ่อนจริงหรือไม่? ถ้าไม่คุณจะแนะนำให้ใช้ฟังก์ชันการทำงานที่เทียบเท่าได้อย่างไร โดยพื้นฐานแล้วฉันมีที่ซ่อนเล็ก ๆ ซึ่งฉันต้องการใช้เป็นระยะ แต่ไม่ต้องการที่จะตามล่าในgit stash listจำนวนที่สะสมที่แท้จริงของมัน
1419 git  git-stash 

18
ฉันจะโคลนไดเรกทอรีย่อยของที่เก็บ Git ได้อย่างไร
ฉันมีที่เก็บ Git ของฉันซึ่งที่ root มีสองไดเรกทอรีย่อย: /finisht /static เมื่อเป็นเช่นนี้อยู่ในSVN , /finishtได้รับการตรวจสอบในสถานที่หนึ่งในขณะที่/staticได้รับการตรวจสอบออกอื่น ๆ เช่นดังนั้น: svn co svn+ssh://admin@domain.com/home/admin/repos/finisht/static static มีวิธีการทำเช่นนี้กับ Git หรือไม่?



10
ฉันยอมรับไฟล์ package-lock.json ที่สร้างโดย npm 5 หรือไม่
npm 5 เปิดตัวแล้ววันนี้และหนึ่งในคุณสมบัติใหม่รวมถึงการติดตั้งที่กำหนดขึ้นพร้อมกับการสร้างpackage-lock.jsonไฟล์ ไฟล์นี้ควรถูกเก็บไว้ในแหล่งควบคุมหรือไม่? ฉันสมมติว่ามันคล้ายกับyarn.lockและcomposer.lockทั้งสองอย่างนี้ควรจะเก็บไว้ในการควบคุมแหล่งที่มา

30
กราฟสาขาคอมไพล์สวย
ฉันเคยเห็นหนังสือและบทความบางอย่างมีกราฟที่ดูน่ารักของกิ่งก้านและคอมมิท ฉันจะสร้างภาพประวัติศาสตร์ git ที่พิมพ์ได้คุณภาพสูงได้อย่างไร
1385 git  git-log 

12
พฤติกรรมเริ่มต้นของ“ git push” โดยไม่ระบุสาขา
ฉันใช้คำสั่งต่อไปนี้เพื่อผลักดันไปยังสาขาระยะไกลของฉัน: git push origin sandbox ถ้าฉันพูด git push origin ผลักดันการเปลี่ยนแปลงในสาขาอื่นของฉันด้วยหรือจะอัพเดทเฉพาะสาขาปัจจุบันของฉัน ฉันมีสามสาขาmaster, และproductionsandbox git pushเอกสารไม่ได้ชัดเจนมากเกี่ยวกับเรื่องนี้ดังนั้นผมอยากจะชี้แจงนี้ให้ดี git pushคำสั่งต่อไปนี้อัพเดตทุกสาขาและรีโมทใด git push git push origin origin ด้านบนเป็นรีโมท ฉันเข้าใจว่าgit push [remote] [branch]จะดันเฉพาะสาขานั้นไปยังระยะไกล
1366 git  branch  git-branch  git-push 

13
Git ต่างกับที่เก็บของ
ฉันจะดูการเปลี่ยนแปลงที่ไม่มีการหยุดนิ่งได้อย่างไรกับแผนผังการทำงานปัจจุบัน ฉันต้องการทราบว่าจะมีการเปลี่ยนแปลงใดบ้างก่อนที่จะนำไปใช้!
1359 git  git-stash 

9
ฉันจะกำหนดค่า git ให้ละเว้นไฟล์บางไฟล์ในเครื่องได้อย่างไร
Наэтотвопросестьответына กองมากเกินнарусском : Какигнорироватьфайлытольковлокальномрепозитории? ฉันจะเพิกเฉยต่อไฟล์ในเครื่องโดยไม่ทำให้เกิดมลพิษกับการตั้งค่า git ทั่วโลกสำหรับคนอื่น ๆ ได้หรือไม่? ฉันมีไฟล์ที่ไม่ได้ติดตามซึ่งเป็นสแปมในสถานะ git ของฉัน แต่ฉันไม่ต้องการยอมรับการเปลี่ยนแปลงการตั้งค่า git สำหรับไฟล์ untracked สุ่มเล็ก ๆ น้อย ๆ ที่ฉันมีในสาขาท้องถิ่นของฉัน
1350 git  ignore  gitignore 

28
ฉันจะรับรายชื่อสาขา Git ได้รับคำสั่งจากการกระทำล่าสุดได้อย่างไร
ฉันต้องการรับรายชื่อสาขาทั้งหมดในที่เก็บ Git ที่มีสาขา "สดที่สุด" ที่ด้านบนซึ่งสาขา "สดที่สุด" เป็นสาขาที่ได้รับการมุ่งมั่นที่จะล่าสุด (และดังนั้นจึงมีแนวโน้มที่จะเป็นหนึ่ง ฉันต้องการที่จะใส่ใจกับ) มีวิธีที่ฉันสามารถใช้ Git เพื่อ (a) เรียงลำดับรายชื่อสาขาตามการกระทำล่าสุดหรือ (b) รับรายการสาขาพร้อมกับวันสุดท้ายที่กระทำแต่ละครั้งในรูปแบบที่เครื่องอ่านได้หรือไม่? กรณีที่เลวร้ายที่สุดฉันสามารถเรียกใช้git branchรายการสาขาทั้งหมดแยกวิเคราะห์ผลลัพธ์จากนั้นgit log -n 1 branchname --format=format:%ciสำหรับแต่ละสาขาเพื่อรับวันที่ส่งมอบของแต่ละสาขา แต่สิ่งนี้จะทำงานบนกล่อง Windows ซึ่งการหมุนกระบวนการใหม่ค่อนข้างแพงดังนั้นการเปิดใช้งาน Git หนึ่งครั้งต่อสาขาอาจช้าลงหากมีสาขาจำนวนมาก มีวิธีทำทั้งหมดนี้ด้วยคำสั่งเดียว?

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