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

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

4
สาขาการติดตามคืออะไร
บางคนสามารถอธิบาย "สาขาการติดตาม" ตามที่ใช้กับคอมไพล์ได้หรือไม่ นี่คือคำจำกัดความจากgit-scm.com : 'การติดตามสาขา' ใน Git เป็นสาขาท้องถิ่นที่เชื่อมต่อกับสาขาระยะไกล เมื่อคุณกดและดึงที่สาขานั้นมันจะผลักและดึงไปยังสาขาระยะไกลที่เชื่อมต่อโดยอัตโนมัติ ใช้สิ่งนี้หากคุณดึงจากสาขาต้นน้ำเดียวกันไปยังสาขาใหม่เสมอและหากคุณไม่ต้องการใช้ "git pull" อย่างชัดเจน น่าเสียดายที่การเป็นมือใหม่กับคอมไพล์และมาจาก SVN คำจำกัดความนั้นไม่สมเหตุสมผลเลยสำหรับฉัน ฉันกำลังอ่านผ่าน " คู่มือปฏิบัติเพื่อ Git " (หนังสือยอดเยี่ยมโดยวิธี) และพวกเขาดูเหมือนจะแนะนำว่าสาขาการติดตามเป็นสิ่งที่ดีและหลังจากสร้างระยะไกลครั้งแรกของคุณ (ที่มาในกรณีนี้) คุณควร ตั้งค่าสาขาหลักของคุณให้เป็นสาขาการติดตาม แต่น่าเสียดายที่ไม่ครอบคลุมถึงสาเหตุที่สาขาการติดตามเป็นสิ่งที่ดีหรือประโยชน์ที่คุณจะได้รับจากการตั้งค่าสาขาหลักของคุณให้เป็นสาขาการติดตามของที่เก็บต้นฉบับของคุณ มีคนช่วยสอนฉันให้เป็นภาษาอังกฤษได้ไหม

16
เป็นไปได้ที่จะ `สถานะ git 'เท่านั้นที่แก้ไขไฟล์?
เป็นไปได้หรือไม่ที่จะgit statusแสดงเฉพาะไฟล์ที่ถูกดัดแปลง? ปัญหาคือฉันมีไฟล์ staged มากเกินไปที่ฉันไม่ต้องการคอมมิทหรือ gitignore ในขณะนี้และฉันไม่สามารถเลื่อนขึ้นได้ ฉันมีขีด จำกัด การเลื่อนกลับที่ตั้งไว้บน Ubuntu
173 git 

6
การแก้ไขข้อความคอมมิทยอมรับใน GitHub
มีวิธีแก้ไขข้อความคอมมิชชันทางออนไลน์GitHub.comหลังจากส่งหรือไม่? จากบรรทัดคำสั่งหนึ่งสามารถทำได้ git commit --amend -m "New commit message" ตามที่แนะนำอย่างถูกต้องในคำถามอื่น ลองgit pullแล้วgit pushได้ผล แต่สามารถทำได้ผ่านGitHubเว็บไซต์หรือไม่

6
สิทธิ์การใช้ไฟล์ Git บน Windows
ฉันได้อ่านคำถามสองสามข้อเกี่ยวกับการอนุญาตไฟล์ใน Git และฉันก็ยังสับสนอยู่ ฉันได้รับ repo จาก GitHub มาจากที่อื่น โพสต์ผสานพวกเขาควรจะเหมือนกัน อย่างไรก็ตาม: $ git diff --summary origin/epsilon master/epsilon mode change 100644 => 100755 ants/dist/sample_bots/csharp/compile.sh mode change 100644 => 100755 ants/dist/starter_bots/coffeescript/MyBot.coffee mode change 100644 => 100755 ants/dist/starter_bots/coffeescript/ants.coffee mode change 100644 => 100755 ants/util/block_test.sh mode change 100644 => 100755 manager/mass_skill_update.py mode change 100644 => …

9
จะตรวจสอบได้อย่างไรว่าไม่มีอะไรที่จะต้องทำในสาขาปัจจุบัน
เป้าหมายคือการได้รับสถานะที่ชัดเจนซึ่งสามารถประเมินได้ในคำสั่งเชลล์ ฉันพยายามgit statusแต่จะคืนค่า 0 เสมอแม้ว่าจะมีรายการที่ต้องส่ง git status echo $? #this is always 0 ฉันมีความคิด แต่ฉันคิดว่ามันเป็นความคิดที่ไม่ดี if [ git status | grep -i -c "[a-z]"> 2 ]; then code for change... else code for nothing change... fi มีวิธีอื่นอีกไหม? อัปเดตด้วยวิธีแก้ปัญหาต่อไปนี้ดูโพสต์ของ Mark Longair ฉันลองสิ่งนี้ แต่มันทำให้เกิดปัญหา if [ -z $(git status --porcelain) ]; then …
172 git  git-status 

4
ติดตั้งคอมไพล์คอมมิตเฉพาะด้วย pip
ฉันกำลังพัฒนาแอพ django และฉันใช้ pip เพื่อจัดการความต้องการของฉัน ฉันจะติดตั้งคอมมิทเฉพาะของคอมมิทได้อย่างไร? ในกรณีของฉันฉันต้องติดตั้งคอมมิทนี้: https://github.com/aladagemre/django-notification/commit/2927346f4c513a217ac8ad076e494dd1adbf70e1
172 git  install  commit  pip 

11
โมดูล Python Git ประสบ? [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน6 ปีที่ผ่านมา ปรับปรุงคำถามนี้ ประสบการณ์ของผู้คนกับโมดูล Git ใด ๆ สำหรับ Python คืออะไร (ฉันรู้ GitPython, PyGit และ Dulwich - อย่าลังเลที่จะพูดถึงคนอื่นถ้าคุณรู้จักพวกเขา) ฉันกำลังเขียนโปรแกรมที่จะต้องโต้ตอบ (เพิ่มลบกระทำ) กับที่เก็บ Git แต่ไม่มีประสบการณ์กับ Git ดังนั้นสิ่งหนึ่งที่ฉันกำลังมองหาคือความง่ายในการใช้ / ทำความเข้าใจเกี่ยวกับ Git สิ่งอื่น ๆ ที่ฉันสนใจเป็นหลักคือความสมบูรณ์และความสมบูรณ์ของห้องสมุดการขาดข้อบกพร่องที่สมเหตุสมผลการพัฒนาอย่างต่อเนื่องและความเป็นประโยชน์ของเอกสารและนักพัฒนา หากคุณนึกถึงอย่างอื่นที่ฉันอาจต้องการ / จำเป็นต้องรู้โปรดอย่าลังเลที่จะพูดถึงมัน
172 python  git 


11
เพิ่มไฟล์ซ้ำตามรูปแบบซ้ำ ๆ
ฉันจะเพิ่มไฟล์ซ้ำโดยใช้รูปแบบ (หรือ glob) ในไดเรกทอรีอื่นได้อย่างไร ตัวอย่างเช่นฉันต้องการเพิ่มA/B/C/foo.javaและD/E/F/bar.java(และไฟล์ java อื่น ๆ อีกหลายไฟล์) ด้วยคำสั่งเดียว: git add '*.java' น่าเสียดายที่มันใช้งานไม่ได้ตามที่คาดไว้
172 git  glob  filepattern 

4
Git ค้นหาสตริงในประวัติไฟล์เดียว
ดังนั้นถ้าฉันมีไฟล์ชื่อfoo.rbและมันทำให้ฉันมีข้อผิดพลาดสำหรับวิธีที่ขาดหายไปที่เรียกว่าbarดังนั้นฉันต้องการค้นหาประวัติของfoo.rbเพื่อหาสตริงbarเพื่อดูว่ามันเคยถูกกำหนดไว้ในอดีตหรือไม่ ฉันพบสิ่งนี้ค้นหาประวัติ Git ทั้งหมดสำหรับสตริงหรือไม่? แต่มันจะค้นหาไฟล์ทั้งหมด ฉันแค่ต้องการค้นหาในไฟล์เดียว
172 git 

7
ข้อผิดพลาดในการรวมของ GIT“ ไม่สามารถกระทำได้เพราะคุณมีไฟล์ที่ไม่ได้รวมอยู่”
ดังนั้นฉันลืมที่จะดึงรหัสของฉันก่อนที่จะแก้ไขมันและเมื่อฉันมุ่งมั่นที่รหัสใหม่และพยายามที่จะผลักดันฉันได้รับข้อผิดพลาดในการผลักดันเป็นไปไม่ได้ ณ จุดนั้นฉันได้ "ดึง git" ซึ่งทำให้บางไฟล์ ฉันนำข้อขัดแย้งออก แต่ฉันไม่รู้จะทำอย่างไรจากที่นี่ .. ฉันพยายามgit commitอีกครั้ง แต่มันบอกว่า "ไม่สามารถกระทำได้เพราะคุณมีไฟล์ที่ไม่ได้ถูกแยก"
172 git  git-merge 

6
Github (SSH) ผ่าน WiFi สาธารณะบล็อกพอร์ต 22
ขณะนี้ฉันอยู่ในที่สาธารณะ WIFI และฉันไม่สามารถใช้ SSH (พวกเขาอาจบล็อกพอร์ตนั้น) git pushแต่ผมต้องว่าการเชื่อมต่อที่จะทำ ➜ ssh -T git@github.com ssh: connect to host github.com port 22: Connection refused เป็นไปได้ไหมที่จะข้ามข้อ จำกัด นี้โดยการตั้งค่าอุโมงค์ SSH ผ่านพอร์ต 80 และบอกgithub pushให้ใช้การเชื่อมต่อนั้น? ทำอย่างไร ฉันใช้ OSX (สิงโต) นี่จะเป็นปัญหาที่พบบ่อยหรือไม่?
171 git  ssh  github  wifi  public 

4
การติดตั้ง git รุ่นล่าสุดในอูบุนตู
เวอร์ชันคอมไพล์ปัจจุบันของฉัน 1.7.9.5 ... ฉันต้องอัพเกรดเป็น git 1.7.10 เป็นอย่างน้อยเพื่อให้มีgit cloneคำสั่งให้ทำงานอย่างถูกต้อง ฉันพยายามsudo add-apt-repository ppa:git-core/ppaอัพเกรด แต่ส่งผลให้เกิดสิ่งนี้: Traceback (most recent call last): File "/usr/bin/add-apt-repository", line 125, in <module> ppa_info = get_ppa_info_from_lp(user, ppa_name) File "/usr/lib/python2.7/dist-packages/softwareproperties/ppa.py", line 80, in get_ppa_info_from_lp curl.perform() pycurl.error: (7, "couldn't connect to host") ฉันควรทำอย่างไรเพื่อให้ได้รับการติดตั้งคอมไพล์ล่าสุด (เพื่ออัปเกรด)
171 git  ubuntu 

12
เป็นไปได้ไหมที่จะทำการเช็คเอาต์แบบเบาบางโดยไม่ต้องตรวจสอบที่เก็บข้อมูลทั้งหมดก่อน
ฉันกำลังทำงานกับที่เก็บที่มีไฟล์จำนวนมากซึ่งต้องใช้เวลาหลายชั่วโมงในการชำระเงิน ฉันกำลังพิจารณาถึงความเป็นไปได้ว่า Git จะทำงานได้ดีกับที่เก็บประเภทนี้หรือไม่ในขณะนี้ซึ่งรองรับการจ่ายเงินแบบเบาบาง แต่ตัวอย่างทุกอย่างที่ฉันสามารถหาทำได้มีดังนี้ git clone <path> git config core.sparsecheckout true echo <dir> > .git/info/sparse-checkout git read-tree -m -u HEAD ปัญหาเกี่ยวกับลำดับของคำสั่งนี้คือการโคลนต้นฉบับก็ทำการเช็คเอาต์ หากคุณเพิ่ม -n ลงในคำสั่ง clone ดั้งเดิมคำสั่ง read-tree จะส่งผลให้เกิดข้อผิดพลาดดังต่อไปนี้: ข้อผิดพลาด: การชำระเงินแบบเบาบางทำให้ไม่มีรายการในไดเรกทอรีทำงาน จะทำการเช็คเอาต์แบบเบาบางโดยไม่ต้องตรวจสอบไฟล์ทั้งหมดก่อนได้อย่างไร
171 git 

5
ค้นหาคำขอดึงบน Github ที่ความมุ่งมั่นถูกสร้างขึ้นในตอนแรก
คำขอดึงข้อมูลเป็นสิ่งที่ดีสำหรับการทำความเข้าใจความคิดที่กว้างขึ้นเกี่ยวกับการเปลี่ยนแปลงหรือชุดการเปลี่ยนแปลงที่เกิดขึ้นกับธุรกรรมซื้อคืน การอ่านคำขอดึงเป็นวิธีที่ดีในการ "grok" โครงการอย่างรวดเร็วแทนการเปลี่ยนแปลงอะตอมขนาดเล็กไปยังแหล่งที่มาคุณจะได้รับการจัดกลุ่มของการเปลี่ยนแปลงเชิงตรรกะขนาดใหญ่ คล้ายกับการจัดระเบียบบรรทัดในรหัสของคุณให้เป็น "stanzas" ที่เกี่ยวข้องเพื่อให้อ่านง่ายขึ้น ฉันพบว่าตัวเองกำลังมองหาไฟล์หรือการกระทำและฉันสงสัยว่ามีวิธีที่จะย้อนกลับการกระทำเพื่อดึงคำขอที่สร้างขึ้นเดิม คำขอดึงนั้นจะถูกรวมเข้าด้วยกันในที่สุด แต่ไม่จำเป็นกับการผสาน
171 git  github  pull-request 

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