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

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

2
Git โมดูลย่อยภายในโมดูลย่อย (โมดูลย่อยที่ซ้อนกัน)
เป็นไปได้หรือไม่ที่โมดูลย่อย git จะสร้างจากโมดูลย่อย git อื่น ๆ และ repo super git เพื่อดึงเนื้อหาสำหรับโมดูลย่อยแต่ละโมดูล ฉันได้พยายามทำสิ่งนี้โดยใช้วิธีการที่ชัดเจน / ไร้เดียงสาในการสร้าง git repo ที่มีโมดูลย่อยหลายตัว จากนั้นเพิ่ม git repo นี้ไปยัง git repo อื่นเป็นโมดูลย่อย จากนั้นพยายามที่จะดึงจากไดเรกทอรีรากของ repo คอมไพล์ซุปเปอร์โดยแล้วgit submodule init git submodule updateแต่ไม่สามารถดึงข้อมูลโมดูลย่อยได้

17
`git 'ของ Homebrew ไม่ได้ใช้ความสมบูรณ์
เมื่อใช้คอมไพล์ของ OSX หลังจากที่ฉันแก้ไขไฟล์ที่ฉันสามารถทำได้git commit <tab>และนั่นจะทำให้ชื่อไฟล์นั้นเป็นชื่อที่ถูกแก้ไขโดยอัตโนมัติ อย่างไรก็ตามถ้าฉันติดตั้ง git เวอร์ชันใหม่กว่าจาก homebrew และฉันใช้มันฟีเจอร์นั้นก็ใช้งานไม่ได้อีกต่อไป (หมายถึงฉันกด<tab>แล้วมันก็แค่“ ถาม” ฉันว่าไฟล์อะไรที่ฉันอยากจะทำแม้จะรวมไฟล์ที่ไม่มีการเปลี่ยนแปลงด้วย ) มีใครบ้างไหมที่ให้ความกระจ่างเกี่ยวกับสาเหตุและวิธีแก้ปัญหานั้น? ฉันชอบที่จะใช้คอมไพล์ของโฮมบรูว์เนื่องจากเป็นข้อมูลล่าสุด shell ของฉันคือ zsh และไม่ต้องติดตั้งbash-completionหรือใช้zsh-completionsงาน (แม้หลังจากทำตามคำแนะนำหลังการติดตั้งของ homebrew) นอกจากนี้หลังจากติดตั้งคอมไพล์ด้วย homebrew ก็บอกว่า Bash completion has been installed to: /usr/local/etc/bash_completion.d zsh completion has been installed to: /usr/local/share/zsh/site-functions ดังนั้นฉันไม่ควรใช้หนึ่งในนั้นหรือไม่
144 macos  git  autocomplete  zsh 

6
การรวม: Hg / Git vs. SVN
ฉันมักจะอ่านว่า Hg (และ Git และ ... ) นั้นสามารถผสานได้ดีกว่า SVN แต่ฉันไม่เคยเห็นตัวอย่างการใช้งานจริงที่ Hg / Git สามารถผสานบางสิ่งที่ SVN ล้มเหลว (หรือที่ SVN ต้องการการแทรกแซงด้วยตนเอง) คุณสามารถโพสต์รายชื่อทีละขั้นตอนของการดำเนินการของสาขา / แก้ไข / กระทำ /...- ที่แสดงว่า SVN จะล้มเหลวในขณะที่ Hg / Git เคลื่อนไหวอย่างมีความสุขหรือไม่ ในทางปฏิบัติไม่ได้เป็นกรณีพิเศษอย่างยิ่งโปรด ... พื้นหลังบางส่วน: เรามีนักพัฒนาซอฟต์แวร์จำนวนไม่กี่รายที่ทำงานกับโครงการที่ใช้ SVN กับแต่ละโครงการ (หรือกลุ่มของโครงการที่คล้ายกัน) ในพื้นที่เก็บข้อมูลของตนเอง เรารู้วิธีการใช้รีลีส - และฟีเจอร์ - สาขาดังนั้นเราจึงไม่พบปัญหาบ่อยนัก (กล่าวคือเราเคยไปที่นั่นแล้ว แต่เราเรียนรู้ที่จะเอาชนะโจเอลปัญหาของ "โปรแกรมเมอร์คนหนึ่งที่ทำให้เกิดการบาดเจ็บทั้งทีม" หรือ "ต้องการนักพัฒนาหกคนเป็นเวลาสองสัปดาห์เพื่อรวมสาขาอีกครั้ง") …
144 git  svn  mercurial  merge  dvcs 

3
จะอัพเดท git clone --mirror ได้อย่างไร?
ฉันได้สร้างที่เก็บ git เพื่อมิเรอร์ไซต์สด (ซึ่งเป็นที่เก็บ git ที่ไม่ได้เปลือย): git clone --mirror ssh://user@example.com/path/to/repo ทีนี้เพื่อให้มิร์เรอร์โคลนนี้อัพเดตด้วยการเปลี่ยนแปลงทั้งหมดจากแหล่งกำเนิดรีโมตของมันคำสั่งหรือคำสั่งใดที่ฉันต้องใช้? ฉันต้องการอัปเดตทุกอย่าง: คอมมิชชันผู้อ้างอิงตะขอสาขา ฯลฯ ขอบคุณ!

4
Git โคลนโดยไม่ต้องไดเรกทอรี. git
มีค่าสถานะที่จะส่งผ่านไปยังgitเมื่อทำการโคลนหรือไม่อย่าโคลน.gitไดเรกทอรี? ถ้าไม่วิธีการเกี่ยวกับการตั้งค่าสถานะการลบ.gitไดเรกทอรีหลังจากโคลน

2
คุณจะลดการเปลี่ยนแปลงของสาขาปัจจุบันบนการเปลี่ยนแปลงที่ถูกผสานได้อย่างไร
ตกลง. ถ้าฉันอยู่ในสาขา (พูดworking) และฉันต้องการที่จะรวมในการเปลี่ยนแปลงจากสาขาอื่น (พูดmaster) แล้วฉันจะเรียกใช้คำสั่งgit-merge masterในขณะที่อยู่ในworkingสาขาและการเปลี่ยนแปลงที่ได้รับการผสานโดยไม่ต้องลดประวัติศาสตร์เลย ถ้าฉันทำงานgit-rebase masterแล้วการเปลี่ยนแปลงในmasterนั้นจะถูก rebased เพื่อวางไว้ด้านบนของworkingสาขาของฉัน แต่ถ้าฉันต้องการที่จะรวมในการเปลี่ยนแปลงจากmasterแต่รีบูตการเปลี่ยนแปลงของฉันworkingให้อยู่ด้านบน ฉันจะทำอย่างไร มันสามารถทำได้? ฉันสามารถทำงานgit-rebase workingบนmasterสาขาของฉันเพื่อให้การเปลี่ยนแปลงของฉันอยู่ด้านบนในmasterสาขา แต่ฉันต้องการที่จะสามารถทำเช่นนั้นในworkingสาขาของฉันและฉันไม่ทราบวิธี สิ่งที่ใกล้เคียงที่สุดที่ฉันสามารถนึกได้คือการสร้างสาขาใหม่จากmasterนั้นจึงworkingทำการเปลี่ยนแปลงของสิ่งที่อยู่ด้านบน แต่จากนั้นฉันก็จะมีสาขาใหม่แทนที่จะเปลี่ยนworkingสาขา
144 git  merge  rebase  git-rebase 

5
วิธีการแสดงรายการที่กระทำตั้งแต่บางอย่างกระทำ?
จะมีการรับรายการการกระทำจากหมายเลขการมอบหมายที่กำหนดไปยัง HEAD หรือไม่? ฉันรู้ว่าสิ่งนี้เป็นไปได้ในวันที่ส่งมอบ แต่ฉันต้องการด้วยหมายเลขส่งมอบและฉันไม่สามารถหาเอกสารใด ๆ ได้หรือแม้แต่เป็นไปได้
144 git 

5
วิธีแยกไดเรกทอรี / ไฟล์บางอย่างออกจากการค้นหา greit grep
มีวิธีในการแยกพา ธ / ไดเรกทอรี / ไฟล์บางอย่างเมื่อค้นหาที่เก็บ git git grepหรือไม่? สิ่งที่คล้ายกับ--excludeตัวเลือกในgrepคำสั่งปกติ? ฉันต้องใช้git grepเพราะการใช้งานgrepโดยตรงช้าเกินไปบนที่เก็บ git ขนาดใหญ่
144 git  grep 

6
คืนค่าส่วนหนึ่งของคอมมิชชันด้วย git
ฉันต้องการที่จะย้อนกลับการกระทำที่เฉพาะเจาะจงในคอมไพล์ น่าเสียดายที่องค์กรของเรายังคงใช้ CVS เป็นมาตรฐานดังนั้นเมื่อฉันยอมรับกลับไปที่ CVS คอมมิทหลายคอมมิทคอมจะถูกรวมเข้าเป็นหนึ่งเดียว ในกรณีนี้ฉันชอบที่จะแยกออกจากคอมไพล์ดั้งเดิม แต่ก็เป็นไปไม่ได้ มีวิธีการคล้ายกับgit add --patchที่จะให้ฉันเลือกแก้ไข diffs เพื่อตัดสินใจว่าส่วนใดของการกระทำที่จะย้อนกลับ?
144 git  git-cvs 

6
Origin / HEAD ได้รับการตั้งค่าอย่างไร
ฉันมีสาขาตั้งขึ้นเพื่อติดตามการอ้างอิงในแหล่งกำเนิด git checkout <branchname>สลับไปที่สาขานั้นและ a git statusจะแสดงให้ฉันเห็นว่าสาขาของฉันอยู่ข้างหน้าหรือข้างหลังไกลแค่ไหนจากจุดเริ่มต้น แต่ฉันประหลาดใจที่origin/HEADยังคงชี้ไปที่origin/masterและไม่ใช่origin/<branchname> ดังนั้นคำถามของฉันคือภายใต้สถานการณ์ใดที่กำเนิด / หัวถูกย้าย แก้ไข: ฉันขอขอบคุณคำตอบเกี่ยวกับวิธีการย้ายต้นกำเนิด / หัว แต่ฉันสนใจในสิ่งที่ "อินทรีย์" ย้ายมันนอกฉันอย่างชัดเจนบอกให้ทำเช่นนั้น ตัวอย่างเช่นเมื่อฉันเปลี่ยนสาขา git ทำให้ HEAD ชี้ไปที่สาขาที่ฉันเช็คเอาท์ดังนั้นฉันจึงประหลาดใจที่ต้นกำเนิด / HEAD ไม่เคลื่อนไหวในลักษณะเดียวกัน
144 git 

17
คุณจะได้ชื่อของที่เก็บ Git ในที่เก็บ Git ได้อย่างไร
เมื่อคุณทำงานในไดเรกทอรี Git บางอย่างคุณจะรับชื่อที่เก็บ Git ในที่เก็บ Git ได้อย่างไร มีคำสั่ง Git หรือไม่? # I did check out bar repository and working in somewhere # under bar directory at this moment such as below. $ git clone git://github.com/foo/bar.git $ cd bar/baz/qux/quux/corge/grault # and I am working in here! $ git xxx # <- …
144 git  repository 

5
ฉันจะรู้ได้อย่างไรว่าฉันใช้ git เวอร์ชันใดอยู่?
ฉันกำลังพยายามติดตามบทเรียนเพื่อเรียนรู้วิธีการใช้ Git แต่คำแนะนำบางอย่างสำหรับรุ่นเฉพาะ มีคำสั่งที่ฉันสามารถใช้ค้นหารุ่นที่ฉันติดตั้งหรือไม่?
144 git 

11
ทำไมคอมไพล์จำข้อความรหัสผ่านของฉันไม่ได้ใน Windows
ฉันเพิ่งเริ่มใช้ git และฉันไม่สามารถจำข้อความรหัสผ่านของฉันฉันใช้ cmd.exe ยกระดับและโฮสต์ git ของฉันคือ github และฉันได้สร้างคีย์ ssh เช่นคำแนะนำใน github แต่ฉันยังคงได้รับ *\subnus.mvc>git push origin master Enter passphrase for key '/c/Users/Subnus/.ssh/id_rsa':
144 windows  git  ssh  cmd 

10
เปลี่ยนตำแหน่งของไดเร็กทอรี ~ ในการติดตั้ง Git Bash ของ Windows
ฉันไม่แน่ใจด้วยซ้ำว่าฉันถามคำถามที่ถูกต้อง ให้ฉันอธิบายสถานการณ์ของฉัน: นี่เป็นเรื่องเกี่ยวกับ Git บน Windows 7 บริษัท ของฉันตั้งค่าไดเร็กทอรีผู้ใช้ Windows บนไดรฟ์เครือข่ายไม่ใช่ในฮาร์ดไดรฟ์ภายในเครื่อง (สำหรับการสำรองข้อมูลและวัตถุประสงค์อื่น ๆ ที่อยู่นอกเหนือขอบเขตของคำถามนี้) ฉันไม่สามารถเปลี่ยนแปลงนโยบายนั้นได้ ฉันสามารถมีไฟล์ในเครื่องนอกโครงร่างนั้นได้และนั่นคือวิธีการตั้งค่าเซิร์ฟเวอร์ Apache ของฉัน ในท้องถิ่นทั้งหมด ฉันติดตั้ง Git มันติดตั้ง Bash เมื่อฉันเปิดไฟ Bash และcd ~(เปลี่ยนเป็นไดเรกทอรีราก) ฉันพบว่า (ราก Bash) ชี้ไปที่ไดเรกทอรีผู้ใช้เครือข่ายของฉัน ฉันไม่ต้องการให้ทำเช่นนั้น ฉันต้องการ ~อยู่ที่อื่นในฮาร์ดไดรฟ์ของฉัน ฉันต้องการอย่างนั้นเมื่อฉันดำเนินการอื่น ๆ เช่นการติดตั้งใบรับรองคีย์ SSH ฯลฯ ค่าเริ่มต้นจะไม่ใช้ไดเร็กทอรีเครือข่ายนั้นโดยอัตโนมัติ ฉันค้นหาอย่างไร้สาระทุกที่และทั้งหมดที่ฉันหาได้หมายถึงคำตอบที่เกี่ยวข้องกับนามแฝงการเปลี่ยนเส้นทางและตำแหน่งที่ $ HOME ชี้ไป แต่นั่นไม่ใช่สิ่งที่ฉันต้องการเลย คำถามคือฉันสามารถเปลี่ยนไดเร็กทอรีนั้นได้หรือไม่? และถ้าเป็นเช่นนั้น: อย่างไร? UPDATE: ดังนั้น …
144 git  msysgit  git-bash  mingw32  msys2 


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