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

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

11
จะเปลี่ยนชื่อผู้ใช้ Git ใน terminal ได้อย่างไร?
ฉันผลักและดึงจากคอมไพล์ใน Terminal จากนั้นฉันเปลี่ยนชื่อผู้ใช้ของฉันบน github.com ฉันไปที่การเปลี่ยนแปลงบางอย่างและไม่สามารถผลักดันได้เพราะมันยังคงจำชื่อผู้ใช้เก่าของฉันได้ฉันจะเปลี่ยน / อัปเดตชื่อผู้ใช้ของฉันบน git ใน terminal ได้อย่างไร
177 git  github  git-config 

12
ฉันจะตรวจสอบสคริปต์ Bash ว่าที่เก็บ Git ในพื้นที่ของฉันมีการเปลี่ยนแปลงได้อย่างไร
มีสคริปต์บางตัวที่ทำงานไม่ถูกต้องหากตรวจสอบการเปลี่ยนแปลง ฉันลองแบบนี้: VN=$(git describe --abbrev=7 HEAD 2>/dev/null) git update-index -q --refresh CHANGED=$(git diff-index --name-only HEAD --) if [ ! -z $CHANGED ]; then VN="$VN-mod" fi มีการตรวจสอบบูลีนบางประเภทหรือไม่ว่ามีการเปลี่ยนแปลงตั้งแต่การคอมมิชชันล่าสุดหรือไม่ฉันจะทดสอบได้อย่างไรว่ามีการเปลี่ยนแปลงใหม่กับที่เก็บในเครื่องของฉันหรือไม่? ฉันทำทั้งหมดนี้เพื่อสร้างสคริปต์เวอร์ชัน (ที่ฉันพบที่นี่)
176 git 



5
สะสมเพียงไฟล์เดียว
ฉันต้องการที่จะซ่อนเพียงการเปลี่ยนแปลงจากไฟล์เดียว: git stash save -- just_my_file.txt ข้างต้นไม่ทำงานแม้ว่า ทางเลือกใด?
176 git  git-stash 

5
ฉันจะผลักดันสาขา Git ท้องถิ่นไปยังรีโมทด้วยชื่ออื่นได้อย่างง่ายดายได้อย่างไร?
ฉันสงสัยว่ามีวิธีที่ง่ายในการผลักดันและดึงสาขาท้องถิ่นด้วยสาขาระยะไกลที่มีชื่อแตกต่างกันโดยไม่ต้องระบุชื่อทั้งสอง ตัวอย่างเช่น: $ git clone myrepo.git $ git checkout -b newb $ ... $ git commit -m "Some change" $ git push origin newb:remote_branch_name ตอนนี้ถ้ามีคนอัปเดต remote_branch_name ฉันสามารถ: $ git pull และทุกอย่างถูกผสาน / ส่งต่ออย่างรวดเร็ว อย่างไรก็ตามหากฉันทำการเปลี่ยนแปลงใน "newb" ในพื้นที่ของฉันฉันไม่สามารถ: $ git push แต่ฉันต้อง: % git push origin newb:remote_branch_name ดูเหมือนโง่เล็กน้อย หากgit-pullใช้git-config branch.newb.mergeเพื่อกำหนดตำแหน่งที่จะดึงออกมาทำไมจึงไม่มีgit-pushตัวเลือกการกำหนดค่าที่คล้ายกัน มีทางลัดที่ดีสำหรับเรื่องนี้หรือฉันควรทำต่อไปอีกนานไหม?


9
Hash collision ในคอมไพล์
จะเกิดอะไรขึ้นถ้าฉันมีการชนกันระหว่างการแฮชในขณะที่ใช้คอมไพล์ เช่นฉันจัดการส่งสองไฟล์ด้วย sha1 checksum เดียวกัน git จะสังเกตเห็นมันหรือไฟล์ใดไฟล์หนึ่งเสียหาย? สามารถปรับปรุง git ให้อยู่กับสิ่งนั้นได้หรือฉันจะต้องเปลี่ยนเป็นอัลกอริธึมการแฮชใหม่หรือไม่? (โปรดอย่าเบี่ยงเบนคำถามนี้ด้วยการอภิปรายว่าเป็นไปได้ยากเพียงใด - ขอบคุณ)
175 git  hash  sha1  hash-collision 

15
ติดตามสาขา git ระยะไกลทั้งหมดเป็นสาขาท้องถิ่น
ติดตามสาขาระยะไกลเดียวเป็นสาขาท้องถิ่นตรงไปตรงมาพอ $ git checkout --track -b ${branch_name} origin/${branch_name} ผลักสาขาท้องถิ่นทั้งหมดขึ้นสู่รีโมตสร้างสาขารีโมตใหม่ตามต้องการได้อย่างง่ายดาย $ git push --all origin ฉันต้องการย้อนกลับ ถ้าฉันมี X remote branch จำนวนมากในแหล่งเดียว: $ git branch -r branch1 branch2 branch3 . . . ฉันสามารถสร้างสาขาการติดตามในท้องถิ่นสำหรับสาขาระยะไกลเหล่านั้นโดยไม่จำเป็นต้องสร้างสาขาด้วยตนเองได้หรือไม่ พูดบางอย่างเช่น: $ git checkout --track -b --all origin ฉันใช้ Google และ RTM แล้ว แต่ฉันพบปัญหามากขึ้น
175 git  branch 

8
ไฟล์ git เวอร์ชันใดที่จะใช้ในที่สุด: LOCAL, BASE หรือ REMOTE
เมื่อมีการโคในช่วงgit mergeที่ผมเปิด mergetool ที่เรียกว่าMeld มันเปิดสามไฟล์ LOCAL, BASE และ REMOTE ขณะที่ฉันอ่าน LOCAL เป็นสาขาในพื้นที่ของฉัน BASE เป็นบรรพบุรุษร่วมกันและ REMOTE เป็นสาขาที่จะรวมเข้าด้วยกัน ทีนี้คำถามของฉัน: ในที่สุดไฟล์เวอร์ชันไหนจะถูกใช้ในที่สุด? มันคือระยะไกล? ถ้าเป็นเช่นนั้นฉันสามารถแก้ไขได้ตามที่ต้องการไม่ว่าจะเป็นสาขาใดใน BASE
174 git  git-merge  meld 

7
เหตุใด Git จึงไม่ถือว่าเป็น "บล็อกโซ่"?
โครงสร้างข้อมูลภายในของ Git นั้นเป็นโครงสร้างของวัตถุข้อมูลซึ่งแต่ละวัตถุนั้นชี้ไปยังรุ่นก่อนเท่านั้น แต่ละบล็อคข้อมูลถูกแฮช การแก้ไข (ข้อผิดพลาดบิตหรือการโจมตี) บล็อกกลางจะถูกสังเกตเห็นเมื่อแฮชที่บันทึกไว้และแฮชเบี่ยงเบนจริง แนวคิดนี้แตกต่างจากโซ่บล็อกอย่างไร Git ไม่ได้แสดงไว้เป็นตัวอย่างของกลุ่มบล็อก แต่อย่างน้อยก็ในบทสรุปคำอธิบายโครงสร้างข้อมูลทั้งสองมีลักษณะเหมือนกัน: บล็อกข้อมูลการลิงก์ย้อนกลับทิศทางเดียวแบบแฮช, ... ) ดังนั้นความแตกต่างอยู่ที่ไหน Git ไม่ได้เรียกว่าบล็อกโซ่
174 git  hash  blockchain 

3
git rebase ติดตาม 'ท้องถิ่น' และ 'ระยะไกล'
เมื่อทำการ git rebase ฉันมักจะมีปัญหาในการหาสิ่งที่เกิดขึ้นกับ 'local' และ 'remote' เมื่อแก้ไขข้อขัดแย้ง บางครั้งฉันก็รู้สึกว่าพวกเขาสลับข้างจากคนหนึ่งไปยังอีกคนหนึ่ง อาจเป็น (แน่นอน) เพราะฉันยังไม่เข้าใจ เมื่อทำการรีบูตใครคือ 'ท้องถิ่น' และใครคือ 'ระยะไกล' (ฉันใช้ P4Merge เพื่อแก้ไขข้อขัดแย้ง)
174 git  conflict  rebase 

14
ssh: เชื่อมต่อกับโฮสต์ github.com พอร์ต 22: หมดเวลาการเชื่อมต่อ
ฉันอยู่ภายใต้พร็อกซีและฉันพยายามเข้าสู่ระบบคอมไพล์สำเร็จสักพัก ตอนนี้ฉันไม่สามารถเข้าสู่คอมไพล์ได้ในทันที ฉันได้ตั้งค่าคีย์ RSA และพรอกซีแล้วตรวจสอบอีกครั้งโดยไม่มีประโยชน์และคอมไพล์กำลังโยนข้อผิดพลาดที่แสดงในชื่อของหน้า
174 git  ssh 

6
ฉันจะกดเริ่มต้นไปยังที่เก็บระยะไกลด้วย Git ได้อย่างไร
ฉันได้อ่านบทช่วยสอนที่นับไม่ถ้วนและฉันก็เข้ามาใกล้ นี่คือสิ่งที่ฉันได้รับ: - ฉันใช้ RubyMine บนเดสก์ท็อป Windows ของฉัน - ฉันได้ติดตั้ง Git ในบัญชีโฮสติ้ง WebFaction ตามคำแนะนำแล้ว - ดูเหมือนว่า Git จะทำงานได้ดีบนทั้งสองเครื่อง นี่คือสิ่งที่ผมกำลังทำ: 1. บนเครื่องเซิร์ฟเวอร์: mkdir โครงการ b. git init c. คอมไพล์เพิ่ม d คอมไพล์กระทำ <--- "ไม่มีอะไรที่จะกระทำ" 2. ในลูกค้า: สร้างโครงการใหม่ใน RubyMine ข "git init" ในไดเรกทอรีบนสุดของโครงการ c "ผลักดันการเปลี่ยนแปลง" ไปยังเซิร์ฟเวอร์ <---- "ไม่สามารถส่งการอ้างอิงถึง ... " ฉันพลาดขั้นตอนอะไรบ้าง

3
บังคับใช้สำหรับผู้ใช้ Git? [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน5 ปีที่ผ่านมา ปรับปรุงคำถามนี้ มีเอกสาร "Git สำหรับผู้ใช้ Perforce" จำนวนมากอยู่ที่นั่น แต่ดูเหมือนจะตรงกันข้ามน้อยมาก ก่อนหน้านี้ฉันเคยใช้ Git มาก่อนและเพิ่งเริ่มงานที่ฉันต้องใช้ Perforce บ่อยๆและพบว่าตัวเองสับสนมากตลอดเวลา แนวคิดที่ฉันคุ้นเคยจาก Git ดูเหมือนจะไม่แม็พกับ Perforce เลย มีใครสนใจที่จะรวบรวมเคล็ดลับในการใช้ Perforce สำหรับคนที่คุ้นเคยกับ Git หรือไม่?
173 git  perforce 

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