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

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

6
Git rebase: ความขัดแย้งยังคงปิดกั้นความคืบหน้า
ฉันมีสาขาคอมไพล์ (เรียกว่า v4) ซึ่งสร้างจากมาสเตอร์เมื่อวานนี้ มีการเปลี่ยนแปลงหลักสองสามอย่างที่ฉันต้องการเข้าสู่ v4 ดังนั้นใน v4 ฉันพยายามทำ rebase จาก master และไฟล์หนึ่งก็ทำให้สิ่งต่าง ๆ เกิดขึ้น: ไฟล์ข้อความบรรทัดเดียวที่มีหมายเลขเวอร์ชัน ไฟล์นี้app/views/common/version.txtซึ่งก่อนทำการ rebasing จะมีข้อความนี้: v1.4-alpha-02 นี่คือสิ่งที่ฉันกำลังทำ: > git rebase master First, rewinding head to replay your work on top of it... Applying: new version, new branch error: patch failed: app/views/common/version.txt:1 error: app/views/common/version.txt: patch does not …
120 git  rebase 

16
Git-Based Source Control ในองค์กร: เครื่องมือและแนวทางปฏิบัติที่แนะนำ?
ฉันใช้คอมไพล์สำหรับโปรเจ็กต์ส่วนตัวและคิดว่ามันเยี่ยมมาก รวดเร็วยืดหยุ่นทรงพลังและใช้งานได้ดีสำหรับการพัฒนาระยะไกล แต่ตอนนี้ได้รับคำสั่งในที่ทำงานและตรงไปตรงมาเรากำลังมีปัญหา git ดูเหมือนจะทำงานได้ไม่ดีสำหรับการพัฒนาแบบรวมศูนย์ในองค์กรขนาดใหญ่ (นักพัฒนา 20+ ราย) ที่มีนักพัฒนาที่มีความสามารถและระดับความซับซ้อนของคอมไพล์ที่แตกต่างกันโดยเฉพาะเมื่อเทียบกับระบบควบคุมแหล่งอื่น ๆ เช่น Perforce หรือ Subversion ซึ่ง มุ่งเป้าไปที่สภาพแวดล้อมแบบนั้น (ใช่ฉันรู้ว่าไลนัสไม่เคยตั้งใจอย่างนั้น) แต่ - ด้วยเหตุผลทางการเมือง - เราติดอยู่กับคอมไพล์แม้ว่ามันจะแย่สำหรับสิ่งที่เราพยายามจะทำก็ตาม นี่คือบางสิ่งที่เราเห็น: เครื่องมือ GUI ยังไม่สมบูรณ์ การใช้เครื่องมือบรรทัดคำสั่งทำให้การผสานรวมและลบล้างการเปลี่ยนแปลงของคนอื่นทำได้ง่าย ไม่เสนอสิทธิ์ที่เก็บต่อผู้ใช้นอกเหนือจากสิทธิ์อ่านอย่างเดียวหรืออ่านเขียนทั่วโลก หากคุณได้รับอนุญาตให้ใช้ส่วนใดส่วนหนึ่งของที่เก็บคุณสามารถทำสิ่งเดียวกันกับทุกส่วนของที่เก็บดังนั้นคุณจะไม่สามารถทำบางสิ่งเช่นสร้างสาขาการติดตามกลุ่มย่อยบนเซิร์ฟเวอร์กลางที่คนอื่นไม่สามารถทำได้ ยุ่งกับ. เวิร์กโฟลว์อื่นที่ไม่ใช่ "อะไรก็ได้" หรือ "เผด็จการใจดี" นั้นยากที่จะส่งเสริมให้บังคับคนเดียว ไม่ชัดเจนว่าจะดีกว่าที่จะใช้ที่เก็บข้อมูลขนาดใหญ่เดียว (ซึ่งทำให้ทุกคนยุ่งกับทุกสิ่ง) หรือที่เก็บข้อมูลต่อองค์ประกอบจำนวนมาก (ซึ่งทำให้ปวดหัวในการพยายามซิงโครไนซ์เวอร์ชัน) ด้วยที่เก็บหลายแห่งยังไม่ชัดเจนว่าจะทำซ้ำแหล่งที่มาทั้งหมดที่คนอื่นมีได้อย่างไรโดยดึงจากที่เก็บส่วนกลางหรือทำบางอย่างเช่นรับทุกอย่าง ณ เวลา 4:30 น. เมื่อบ่ายวานนี้ อย่างไรก็ตามฉันได้ยินมาว่าผู้คนใช้คอมไพล์ได้สำเร็จในองค์กรพัฒนาขนาดใหญ่ หากคุณอยู่ในสถานการณ์นั้นหรือโดยทั่วไปแล้วคุณมีเครื่องมือคำแนะนำและกลเม็ดในการทำให้การใช้คอมไพล์ในองค์กรขนาดใหญ่ง่ายขึ้นและมีประสิทธิผลมากขึ้นซึ่งบางคนไม่ใช่แฟนบรรทัดคำสั่งฉันชอบที่จะได้ยินสิ่งที่คุณมี ที่จะแนะนำ. BTW ฉันเคยถามคำถามนี้ใน …
120 git  enterprise 

6
Git cherry pick vs rebase
ฉันเพิ่งเริ่มทำงานกับ Git เมื่อไปที่หนังสือ Gitออนไลน์ฉันพบสิ่งต่อไปนี้ในส่วน "Git Rebase": ด้วยคำสั่ง rebase คุณสามารถนำการเปลี่ยนแปลงทั้งหมดที่เกิดขึ้นในสาขาหนึ่งและเล่นซ้ำในอีกสาขาหนึ่งได้ (อ้างจาก: http://git-scm.com/book/en/Git-Branching-Rebasing ) ฉันคิดว่านี่เป็นคำจำกัดความที่แน่นอนของ git cherry-pick (ใช้การคอมมิตใหม่หรือชุดของออบเจ็กต์คอมมิตในสาขาที่เช็คเอาต์ในปัจจุบัน) อะไรคือความแตกต่างระหว่างทั้งสอง?

2
ฉันจะลบชื่อสาขาที่ถูกลบออกจากการเติมข้อความอัตโนมัติได้อย่างไร
ฉันเคยgit branch -d myBranchลบสาขา แต่เมื่อฉันอยู่ในหลักและพยายามที่จะชำระเงินสาขาใหม่ที่มีgit checkout, myBranchยังคงปรากฏอยู่ในแท็บการเติมข้อความอัตโนมัติ ฉันจะลบชื่อmyBranchออกจากแท็บเติมข้อความอัตโนมัติได้git checkoutอย่างไร
120 git 

6
ย้อนกลับไปยังคอมมิตสุดท้าย
ฉันเพิ่งทำ git commit -m "blah" จากนั้นฉันเพิ่มไฟล์บางไฟล์ฉันจะย้อนกลับและลบสิ่งที่อยู่ในไฟล์ปัจจุบันของฉันที่ยังไม่ได้เพิ่ม / คอมมิตได้อย่างไร
120 git 

5
จะแยกไดเร็กทอรีย่อย git และสร้างโมดูลย่อยจากไดเร็กทอรีได้อย่างไร
ฉันเริ่มโครงการเมื่อหลายเดือนก่อนและเก็บทุกอย่างไว้ในไดเรกทอรีหลัก ในไดเร็กทอรีหลักของฉัน "Project" มีไดเร็กทอรีย่อยหลายไดเร็กทอรีที่มีสิ่งที่แตกต่างกัน: Project / paper มีเอกสารที่เขียนใน LaTeX Project / sourcecode / RailsApp มีแอพทางรถไฟของฉัน "Project" เป็น GITified และมีการคอมมิตทั้งในไดเรกทอรี "paper" และ "RailsApp" ตอนนี้ฉันต้องการใช้ cruisecontrol.rb สำหรับ "RailsApp" ของฉันฉันสงสัยว่ามีวิธีสร้างโมดูลย่อยจาก "RailsApp" โดยไม่เสียประวัติหรือไม่

7
วิธีใช้คำสั่ง gitignore ใน git
ฉันทำงานครั้งแรกกับคอมไพล์ ฉันได้ผลักดันสาขาของฉันบน github และมันดันไลบรารีและเอกสารทั้งหมดเข้าสู่ github ตอนนี้ฉันจะทำอย่างไรและฉันจะใช้คำสั่ง gitignore เพื่อหลีกเลี่ยงข้อผิดพลาดเดิมอีกครั้งได้อย่างไร
120 git  github 

18
Visual Studio Code ไม่สามารถตรวจพบ git ที่ติดตั้ง
Visual Studio Code รายงานว่า "ดูเหมือนว่าจะไม่มีการติดตั้ง git ในระบบของคุณ" เมื่อฉันพยายามเปลี่ยนเป็นมุมมองคอมไพล์ ฉันรู้ว่าฉันได้ติดตั้งและใช้คอมไพล์โดยไคลเอนต์คอมไพล์อื่น ๆ ฉันเดาว่าถ้าฉันติดตั้งคอมไพล์ใหม่ตามคำแนะนำของ Visual Studio Code ("ติดตั้งด้วย Chocolatey หรือดาวน์โหลดจาก git-scm.com") มันอาจจะแก้ไขปัญหาได้ แต่ฉันไม่อยากทำให้คอมไพล์ที่มีอยู่ยุ่งเหยิง ลูกค้าในระบบของฉัน มีวิธีที่เชื่อถือได้ในการกำหนดค่า Visual Studio Code เพื่อให้สามารถค้นหาการติดตั้ง git ที่มีอยู่ได้หรือไม่

9
วิธีเพิ่มไฟล์หลายไฟล์ใน Git ในเวลาเดียวกัน
นี่จะเป็นการใช้คอมไพล์ครั้งแรกของฉัน ฉันได้เพิ่มไฟล์ใหม่ (มาก) ไปยังโฟลเดอร์ / โครงการ (git local repository) ฉันอ่านบทแนะนำและฟอรัมออนไลน์และเห็นว่าฉันทำได้ git commit -a ดังนั้นฉันจึงไปที่โฟลเดอร์ฐานของที่เก็บและทำไฟล์ sudo git commit -a แต่แล้วหน้าจอบางหน้าก็ปรากฏขึ้นและขอให้ฉันเพิ่มความคิดเห็นที่ฉันทำ ฉันไม่รู้ว่าจะดำเนินการต่อหรือออกอย่างไร ฉันไม่ต้องการที่จะสับสนดังนั้นฉันจึงใช้ ctrl + Z และไม่ได้ทำอะไรเลย พวกคุณช่วยสรุปคำสั่งที่ฉันต้องใช้ได้ไหม git commit -a และ git push?
120 git  push  commit 

30
Git Remote: Error: fatal: protocol error: bad line length character: Unab
Наэтотвопросестьответына Stack Overflow нарусском : Git fatal: protocol error: bad line length character: git @ ฉันตั้งค่าเซิร์ฟเวอร์ git และตอนนี้ต้องการผลักดัน repo ของฉันจากไคลเอนต์ ฉันใช้git push origin masterและได้รับข้อความแสดงข้อผิดพลาดนี้: fatal: protocol error: bad line length character: Unab ไม่รู้มีอะไรผิดปกติ ผมไม่รู้ว่า "Unab" คืออะไร ฉันพยายามปรับขนาดเชลล์ แต่ยังเป็น "Unab" ฉันไม่พบวิธีแก้ไขสำหรับข้อความแสดงข้อผิดพลาดนี้ ฉันตั้งค่าเซิร์ฟเวอร์ด้วย "Authorized_keys" และ SSH (ฉันสามารถเชื่อมต่อได้โดยใช้ SSH) ดูเหมือนว่าจะเป็นปัญหาเกี่ยวกับคอมไพล์? BTW: เซิร์ฟเวอร์ถูกตั้งค่าใน Windows …
120 git  ssh  authorized-keys 

7
จะตั้งนามแฝงใน Git Bash สำหรับ Windows ได้อย่างไร
วิธีการใช้นามแฝงคำสั่งใน Git Bash สำหรับ Windows ที่ดาวน์โหลดจาก git-scm.com ฉันหมายถึงคำสั่ง Bash ไม่ใช่ Git (วินโดว 7) แก้ไข: การเขียนนามแฝงใน.bashrcไฟล์ (ตามที่แนะนำโดย@gturri ) ไม่ได้เพิ่มในคอนโซล (หลังจากรีบูตระบบ) (ฉันไม่เคยเขียนนามแฝงสำหรับlsคำสั่งดังนั้นจึงควรเป็นนามแฝงเริ่มต้นบางส่วน)
120 git  bash 

9
วิธีการระบุการกระทำเดียวกับนักพัฒนาหลายคน?
วิธีการทำงานของระบบควบคุมเวอร์ชันทั้งหมดที่ฉันคุ้นเคยคือการคอมมิตแต่ละครั้งเกิดจากผู้พัฒนารายเดียว การเพิ่มขึ้นของ Agile Engineering และการเขียนโปรแกรมแบบจับคู่โดยเฉพาะได้นำไปสู่สถานการณ์ที่นักพัฒนาสองคนมีส่วนร่วมสำคัญในงานเดียวกันเช่นการแก้ไขข้อบกพร่อง ปัญหาของการระบุแหล่งที่มาจะไม่เป็นเรื่องใหญ่มากเกินไปในสภาพแวดล้อมการทำงานเนื่องจากผู้จัดการโครงการจะทราบถึงงานที่ทั้งคู่กำลังทำอยู่ แต่ถ้าผู้ร่วมให้ข้อมูลโอเพนซอร์สสองรายตัดสินใจจับคู่และส่งโค้ดออกมา กับโปรเจ็กต์เฉพาะที่ไม่รู้ว่ากำลังทำงานร่วมกัน มีวิธีใดบ้างที่ระบบควบคุมเวอร์ชันเช่น Git จะระบุแพตช์เฉพาะสำหรับนักพัฒนาหลายคน

4
ลบไฟล์ที่แก้ไขจากคำขอดึง
ฉันมีไฟล์ที่แก้ไข 3 ไฟล์ (ไม่มีไฟล์ใหม่) ในคำขอดึงข้อมูลในขณะนี้ ฉันต้องการลบหนึ่งในไฟล์เหล่านั้นออกจากคำร้องขอดึงเพื่อให้คำร้องขอดึงมีการเปลี่ยนแปลงกับไฟล์สองไฟล์เท่านั้นและปล่อยไฟล์ที่สามไว้ในสถานะเดิม ฉันได้ลองสองสามสิ่งแล้ว (ตรวจสอบเวอร์ชันดั้งเดิมของไฟล์ ฯลฯ ... ) แต่ยังคงแสดงเป็นไฟล์ที่เปลี่ยนแปลงใน PR มีวิธีแก้ปัญหานี้หรือไม่?

10
วิธีใช้ Git
ฉันเป็นนักศึกษาวิศวกรรมที่ใช้เวลาว่างส่วนใหญ่ไปกับการดูทีวีมากกว่าการเขียนโปรแกรม โดยพื้นฐานแล้วฉันไม่มีประสบการณ์กับระบบควบคุมเวอร์ชันใด ๆ ความเข้าใจของฉันคือพวกเขาทำให้การกระจายโครงการง่ายขึ้น ฉันกำลังดูBlueprint CSS Frameworkชอบและดาวน์โหลดจากหน้าโครงการ Git ของพวกเขา ตอนนี้ฉันรู้ว่า Git ทำได้มากกว่าการให้ลิงค์บนเว็บไซต์ของพวกเขา ดังนั้นคำถามของฉันมีดังต่อไปนี้: ฉันจะใช้ Git อย่างถูกต้องเพื่ออัปเดตการดาวน์โหลด Blueprint ของฉันได้อย่างไร บอกว่ามีเวอร์ชั่นใหม่ฉันต้องทำอย่างไร? ฉันสามารถอัปเดตการดาวน์โหลด Git ทั้งหมดในเวลาเดียวกันได้หรือไม่ สมมติว่าฉันดาวน์โหลด Blueprint และโครงการอื่น ๆ บน Mac แล้วฉันจะอัปเดตอย่างมีประสิทธิภาพได้อย่างไร ฉันดูคู่มือ Git แต่ส่วนใหญ่สำหรับคนที่มีประสบการณ์มากกว่าที่ฉันมี ขอบคุณที่ช่วยเหลือ :)
119 git 

3
วิธีโต้ตอบ (ทางสายตา) แก้ไขความขัดแย้งใน SourceTree / git
ฉันใช้ (Windows) SourceTree สำหรับโครงการคอมไพล์ของฉัน ฉันสามารถทำได้ใน command prompt หรือ Linux terminal แต่ฉันสงสัยว่ามีวิธีที่ดีในการแก้ปัญหาความขัดแย้งในเชิงโต้ตอบและทางสายตาหรือไม่ ตัวอย่างเช่นหากการดึงตรวจพบความขัดแย้งให้เปิดเครื่องมือความขัดแย้งที่ใช้ GUI ขึ้นมา (เช่น P4Merge) เป็นไปได้ไหม? ฉันมักจะแก้ปัญหาความขัดแย้งด้วยตนเองซึ่งเป็นเรื่องที่เจ็บปวด ตัวอย่างเช่นpullข้อความคอมไพล์จาก SourceTree git -c diff.mnemonicprefix=false -c core.quotepath=false pull --no-commit origin master From W:\repo\ * branch master -> FETCH_HEAD Updating 33c07bf..41e0249 error: Your local changes to the following files would be overwritten by …

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