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

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

9
วิธีติดตามการเปลี่ยนแปลงใน / etc /
ฉันต้องการติดตามการเปลี่ยนแปลงใน / etc / โดยทั่วไปฉันต้องการทราบว่าไฟล์มีการเปลี่ยนแปลงโดยyum updateหรือโดยผู้ใช้และย้อนกลับถ้าฉันไม่ชอบ chage ฉันคิดว่าจะใช้ VCS เช่น git, LVM หรือ btrfs snapshot หรือโปรแกรมสำรองข้อมูลสำหรับสิ่งนี้ คุณจะแนะนำอะไร
30 backup  git  btrfs  etc 

3
โครงการ Linux Kernel ติดตามข้อบกพร่องในช่วงแรกได้อย่างไร
เราทุกคนรู้ว่า Linus Torvalds สร้าง Git เนื่องจากปัญหาเกี่ยวกับ Bitkeeper ไม่มีอะไรที่เป็นที่รู้จัก (อย่างน้อยสำหรับฉัน) คือปัญหา / ตั๋ว / ข้อบกพร่องถูกติดตามอย่างไรจนถึงตอนนี้ ฉันพยายาม แต่ไม่ได้สนใจอะไรเลย การอภิปรายเดียวที่ฉันก็สามารถที่จะได้รับในเรื่องนี้เป็นหนึ่งในที่ไลนัสที่ใช้ร่วมกันกับความกังวลเกี่ยวกับการใช้ Bugzilla การเก็งกำไร: - วิธีที่ง่ายที่สุดสำหรับคนที่จะติดตามบั๊กในระยะแรกนั้นคือการใส่ตั๋วในสาขาของตัวเอง แต่มั่นใจว่าค่อนข้างเร็วที่จะไม่ลดขนาดด้วยเสียงรบกวนมากกว่าการรับบั๊กที่ดี ฉันเคยเห็นและใช้ Bugzilla และถ้าคุณไม่รู้จัก 'คำหลัก' ที่ถูกต้องในบางครั้งคุณก็จะถูกนิ่งงัน หมายเหตุ:ฉันสนใจเป็นพิเศษในช่วงต้นปี (2534-2538) ว่าพวกเขาเคยติดตามปัญหาอย่างไร ฉันดูสองกระทู้ " Kernel SCM saga " และ " Trivia: git self-host เมื่อไหร่? " แต่ไม่มีสิ่งใดที่กล่าวถึงเกี่ยวกับการติดตามบั๊กของเคอร์เนลในวันแรก ๆ ฉันค้นหาไปรอบ ๆ และไม่สามารถรับซอฟต์แวร์ติดตามบั๊กของ FOSS ใด …
29 linux  kernel  git  history 

6
ฉันจะสร้างนามแฝงสำหรับคำสั่ง git [action] (ซึ่งมีช่องว่าง) ได้อย่างไร
นามแฝงของฉันส่วนใหญ่เป็นของแบบฟอร์มนี้: alias p='pwd' ฉันต้องการนามแฝงgit commitเพื่อที่จะทำgit commit -v แต่การพยายามสร้างนามแฝงที่มีช่องว่างทำให้เกิดข้อผิดพลาด: $ alias 'git commit'='git commit -v' -bash: alias: `git commit': invalid alias name
29 bash  shell  terminal  alias  git 

6
เป็นไปได้หรือไม่ที่จะโคลนส่วนหนึ่งของโครงการคอมไพล์
ฉันพบชุดของ slackbuilds บางอย่างที่ฉันต้องการก็มีใน GitHub https://github.com/PhantomX/slackbuilds/ ฉันไม่ต้องการรับ git ทั้งหมด git clone https://github.com/PhantomX/slackbuilds.git แต่จะได้รับ slackbuild สำหรับคนนี้ ทำอย่างไร มันเป็นไปได้?
29 git 

4
ทำไมฉันสามารถเช็คเอาท์สาขาที่ถูกลบออกจาก GitHub ได้?
ในพื้นที่เก็บข้อมูล GitHub releaseของเราผู้ร่วมงานลบออกสาขาที่มีชื่อว่า แต่เมื่อผมทำงานในประเทศผมเคยได้รับสาขาออกgit checkout release releaseเดียวกันแม้ในขณะที่ฉันจะตรวจสอบจากสาขาอื่นที่ถูกลบreleaseสาขาด้วยและวิ่งอีกครั้งgit branch -D releasegit checkout release มีบางอย่างที่ต้องแก้ไขในที่เก็บ GitHub หรือฉันจะแก้ไขบางอย่างในเครื่อง?
26 git 

1
ไม่สนใจช่องว่างการเปลี่ยนแปลงในคำสั่ง git ทั้งหมด
ฉันพบไซต์มากมายที่อธิบายวิธีการคอมไพล์เตือนคุณเมื่อคุณเปลี่ยนจุดสิ้นสุดบรรทัดหรือเทคนิคอื่น ๆ เพื่อป้องกันไม่ให้คุณทำไฟล์ทั้งหมดยุ่งเหยิง สมมติว่ามันสายไปแล้ว - ทรีได้ยอมรับว่าสลับปลายสายของไฟล์ดังนั้นgit diffแสดงการลบไฟล์เก่าแล้วตามด้วยการเพิ่มไฟล์ใหม่ที่มีเนื้อหาเดียวกัน ฉันกำลังมองหาตัวเลือกการกำหนดค่า git หรือการตั้งค่าสถานะบรรทัดคำสั่งที่บอกว่าdiffไม่สนใจสิ่งเหล่านั้น - ถ้าสองบรรทัดแตกต่างกันโดยช่องว่างเท่านั้นให้ทำท่าว่ามันเหมือนกัน ฉันต้องการตัวเลือกการตั้งค่า / การตั้งค่าสถานะนี้เพื่อทำงานกับทุกอย่างที่ขึ้นอยู่กับความแตกต่างของไฟล์ - diff,, / blameแม้merge/ ในrebaseอุดมคติ - ฉันต้องการgitละเว้นช่องว่างต่อท้ายอย่างสมบูรณ์โดยเฉพาะอย่างยิ่งการสิ้นสุดบรรทัด ฉันจะทำสิ่งนั้นได้อย่างไร

6
มี front-end gui ที่ใช้งานได้บน git บน Linux หรือไม่?
ฉันเป็นผู้ใช้ windows เก่าและเพิ่งเริ่มใช้งาน Ubuntu บน Windows, เรามีสองโปรแกรมที่ดี: และTortoiseSVN TortoiseGitทั้งคู่เป็นโปรแกรมที่ดีที่พวกเขาอนุญาตให้เราทำทุกอย่างเช่นคอมมิท, โรลแบ็ค, รวม, ดูประวัติ, ค้นหา repos และอื่น ๆ โดยไม่ต้องรู้คำสั่ง SINGLE cli ตอนนี้บน linux ฉันพบว่ามันยากที่จะจดจำคำสั่ง git สำหรับทุกสิ่ง git pushและgit remote addเป็นเรื่องปกติ แต่การรวมกันนั้นน่าเบื่อโดยเฉพาะการแก้ไขข้อขัดแย้ง ใน TortoiseGit มันเป็นเรื่องของการคลิกขวาเพียงไม่กี่! ฉันได้พบอึเช่น git-gui ฯลฯ แต่คุณสมบัติไม่ได้เทียบได้กับ TortoiseGit เหตุใดจึงไม่มีพอร์ต TortoiseGit ที่ครบถ้วนในระบบ Linux
25 software-rec  git  gui 

4
ตอบใช่ในสคริปต์ทุบตี
ฉันกำลังพยายามทำgit cloneสคริปต์ทุบตี แต่ครั้งแรกที่ฉันเรียกใช้สคริปต์และเซิร์ฟเวอร์ไม่เป็นที่รู้จัก แต่สคริปต์ล้มเหลว ฉันมีสิ่งนี้: yes | git clone git@github.com:repo/repoo.git The authenticity of host 'github.com (207.97.227.239)' can't be established. RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48. Are you sure you want to continue connecting (yes/no)? yesแต่มันไม่สนใจ คุณรู้วิธีบังคับgit cloneให้เพิ่มคีย์ไปยังโฮสต์ที่รู้จักหรือไม่?
24 shell  ssh  scripting  git 

4
เมื่อใช้คอมไพล์แฮชแล้วจะรู้ได้อย่างไรว่าเคอร์เนลรีลีสนั้นมีอะไรบ้าง?
สมมติว่าฉันมีปัญหาบางอย่างที่แก้ไขโดยแพทช์ล่าสุดไปยังที่เก็บ Linux git อย่างเป็นทางการ ฉันมีวิธีแก้ไข แต่ฉันต้องการยกเลิกเมื่อมีการเปิดตัวที่มีการแก้ไขของฉัน ฉันรู้ว่าคอมไพล์ที่แน่นอนกระทำกัญชาเช่นf3a1ef9cee4812e2d08c855eb373f0d83433e34c วิธีที่ง่ายที่สุดในการตอบคำถามคืออะไรเคอร์เนลรุ่นใดบ้างที่มีโปรแกรมแก้ไขนี้ คะแนนโบนัสหากไม่ต้องการพื้นที่เก็บข้อมูล git Linux ในพื้นที่ ( LWMอธิบายแนวคิดบางอย่าง แต่สิ่งเหล่านี้จำเป็นต้องใช้ที่เก็บข้อมูลในเครื่อง)

1
รูปแบบ. gitignore เทียบเท่ากับ regex (ใหญ่ | เล็ก) (รัฐ | เมือง) - [0-9] * \. csv
ฉันมี regex ฉันติดอยู่ในของฉัน.gitignoreคล้ายกับ: (Big|Small)(State|City)-[0-9]*\.csv มันไม่ได้ทำงานเพื่อให้ผมทดสอบกับRegexLab.NET จากนั้นผมก็พบgitignoreหน้าคนที่ทำให้ฉันได้เรียนรู้ว่า gitignore ไม่ได้ใช้ regexes แต่fnmatch (3) อย่างไรก็ตาม fnmatch มันดูเหมือนจะไม่เท่ากับกลุ่มจับภาพ สิ่งนี้เป็นไปได้หรือฉันต้องการแบ่งเป็นสามบรรทัด?

3
วิธีแก้ไขข้อความ“ Hunk # 1 FAILED ที่ 1 (สิ้นสุดบรรทัดที่แตกต่างกัน)”
ฉันพยายามสร้างแพตช์ด้วยคำสั่ง git diff sourcefile >/var/lib/laymab/overlay/category/ebuild/files/thepatch.patch เมื่อฉันใช้แพทช์มันให้ฉัน $ patch -v GNU patch 2.7.5 $ /usr/bin/patch -p1 </var/lib/laymab/overlay/category/ebuild/files/thepatch.patch patching file sourcefile Hunk #1 FAILED at 1 (different line endings). Hunk #2 FAILED at 23 (different line endings). Hunk #3 FAILED at 47 (different line endings). Hunk #4 FAILED at 65 (different line …
22 git  diff  newlines  patch 

2
ทำไม git ถึงถูกเรียกใช้น้อยลงโดยไม่จำเป็น?
เมื่อฉันรันgit branch(จาก bash หรือ csh) มันจะทำการส่งออกไปยังท่อโดยlessอัตโนมัติ อย่างไรก็ตามมีเพียงไม่กี่สาขาในพื้นที่เก็บข้อมูลที่เกินความจำเป็นมันน่ารำคาญเนื่องจากรายชื่อสาขาหายไปเมื่อฉันเลิกน้อยลง การตรวจสอบ~/.gitconfigไฟล์และ.git/configไฟล์โลคัลไม่พบสิ่งใดเกี่ยวกับเพจเจอร์หรือสิ่งอื่นใดที่จะทำให้เกิดปัญหานี้ ไม่อย่างนั้นฉันไม่พบสิ่งใดในการค้นหาเว็บมีประโยชน์หรือมีแนวโน้ม เหตุใดสิ่งนี้จึงเกิดขึ้นและฉันสามารถทำอะไรได้บ้างlessเมื่อต้องการ (เช่นเมื่อทำประวัติgit logเมื่อมีจำนวนมาก) แต่ไม่ใช่อย่างอื่น (เช่นgit branchสาขาที่มีสาขา 2 หรือ 3 สาขาเท่านั้น)
22 git 

2
จะออกจากคอมไพล์ผสานเพื่อขอข้อความยืนยันได้อย่างไร
ฉันใช้คอมไพล์ ฉันทำการผสานปกติแล้ว แต่มันยังคงถามสิ่งนี้อยู่: # Please enter a commit message to explain why this merge is necessary, # especially if it merges an updated upstream into a topic branch. และแม้ว่าฉันจะเขียนอะไรบางอย่างฉันก็ไม่สามารถออกจากที่นี่ได้ ฉันไม่พบเอกสารที่อธิบายสิ่งนี้ ฉันควรทำอย่างไร
22 git  merge 

2
Github เพิ่มพื้นที่เก็บข้อมูลเป็นทางแยกจากโคลนที่มีอยู่
ดังนั้นฉันมีที่เก็บคอมไพล์ที่ฉันโคลนจากแหล่งต้นน้ำบน ghithub ฉันทำการเปลี่ยนแปลงเล็กน้อยกับมัน (ที่ไม่ได้ผูกมัดและอยู่ในสาขาหลัก) สิ่งที่ฉันต้องการจะทำคือผลักดันการเปลี่ยนแปลงของฉันไปยังหน้า GitHub ของฉันเป็นสาขาใหม่และมี GitHub ยังคงเห็นว่ามันเป็นทางแยก เป็นไปได้ไหม ฉันค่อนข้างใหม่กับคอมไพล์และ GitHub คำถามของฉันไม่สมเหตุสมผล วิธีที่ง่ายที่สุดที่ฉันสามารถนึกได้ โคลนแบบโลคัลไปยังไดเร็กทอรีอื่น เพิ่มธุรกรรมซื้อคืนต้นทาง สร้างสาขาใน repo ที่แยกใหม่ คัดลอกการเปลี่ยนแปลงรหัสของฉันด้วยมือลงใน repo ท้องถิ่นใหม่ จากนั้นดันกลับขึ้นไปยัง GitHub ของฉัน นี่เป็นกรณีการใช้งานทั่วไปที่มีวิธีการทำที่ง่ายกว่าโดยไม่ต้องทำซ้ำไดเรกทอรีหรือไม่ ฉันเดาว่าฉันถามที่นี่ตรงข้ามกับ SO เนื่องจากฉันอยู่บน linux โดยใช้คอมไพล์บรรทัดคำสั่งและผู้คนที่นี่ให้คำตอบที่ดีกว่า imo =]

3
แสดงเฉพาะ hunks ที่เกี่ยวข้องของ diff / patch ตาม regexp
git log -G<regex> -pเป็นเครื่องมือที่ยอดเยี่ยมในการค้นหาประวัติของ codebase สำหรับการเปลี่ยนแปลงที่ตรงกับรูปแบบที่ระบุ อย่างไรก็ตามมันอาจเป็นเรื่องยากที่จะค้นหาก้อนใหญ่ที่เกี่ยวข้องในเอาท์พุท diff / patch ในทะเลของนักล่าที่ไม่เกี่ยวข้องส่วนใหญ่ แน่นอนว่าเป็นไปได้ที่จะค้นหาผลลัพธ์ของgit logสตริง / regex ดั้งเดิม แต่ก็มีน้อยที่จะลดเสียงรบกวนที่มองเห็นและการเบี่ยงเบนของการเปลี่ยนแปลงที่ไม่เกี่ยวข้องจำนวนมาก อ่านต่อgit logไปฉันเห็นว่ามันมี--pickaxe-allซึ่งตรงข้ามกับสิ่งที่ฉันต้องการ: มันขยายเอาต์พุต (ไปยังชุดการเปลี่ยนแปลงทั้งหมด) ในขณะที่ฉันต้องการ จำกัด (เฉพาะก้อนใหญ่) โดยพื้นฐานแล้วฉันกำลังมองหาวิธี "แยกแยะ" อย่างชาญฉลาด "ในการแยก diff / patch ลงใน hunks แต่ละอันแล้วทำการค้นหากับแต่ละก้อนใหญ่ (กำหนดเป้าหมายเพียงแค่บรรทัดที่เปลี่ยนไป) ทิ้งกลุ่ม hunks ที่ไม่ตรงกัน ที่ทำ มีเครื่องมือเช่นที่ฉันอธิบายอยู่หรือไม่? มีวิธีการที่ดีกว่าในการได้รับการจับคู่หรือได้รับผลกระทบหรือไม่? งานวิจัยเริ่มแรกที่ฉันทำ ... หากเป็นไปได้ที่จะgrepส่งออก diff / patch และทำให้ค่าตัวเลือกบริบทเป็นแบบไดนามิก - พูดผ่าน …
20 git  diff  patch 

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