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

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


30
gpg ล้มเหลวในการลงชื่อข้อมูลที่ร้ายแรง: ไม่สามารถเขียนการมอบหมายวัตถุ [Git 2.10.0]
ฉันได้ติดตามบทความบางอย่างเกี่ยวกับคุณลักษณะที่น่าสนใจในบันทึกย่อประจำรุ่นGit 2.10 จะผ่านซึ่งอัพเกรดคอมไพล์เป็น 2.10.0 และทำการเปลี่ยนแปลงระดับโลก.gitconfigผลดังนี้ - [filter "lfs"] clean = git-lfs clean %f smudge = git-lfs smudge %f required = true [user] name = xyz email = abc.def@gmail.com signingkey = AAAAAAA [core] excludesfile = /Users/xyz/.gitignore_global editor = 'subl' --wait [difftool "sourcetree"] cmd = opendiff \"$LOCAL\" \"$REMOTE\" path = [mergetool "sourcetree"] …

14
git: สลับแบรนช์และไม่สนใจการเปลี่ยนแปลงใด ๆ
ฉันทำงานในสาขาคอมไพล์และพร้อมที่จะส่งมอบการเปลี่ยนแปลงของฉันดังนั้นฉันจึงส่งข้อความคอมมิชชันที่มีประโยชน์ จากนั้นฉันก็ทำการเปลี่ยนแปลงเล็กน้อยในรหัสที่ไม่คุ้มค่ากับการรักษา ตอนนี้ฉันต้องการเปลี่ยนสาขา แต่ git ให้ฉัน ข้อผิดพลาด: คุณมีการเปลี่ยนแปลงในท้องถิ่นเป็น "X"; ไม่สามารถสลับสาขาได้ ฉันสามารถเปลี่ยนสาขาได้โดยไม่ต้องทำอะไร? ถ้าเป็นเช่นนั้นฉันจะตั้งค่านี้ได้อย่างไร ถ้าไม่ฉันจะออกจากปัญหานี้ได้อย่างไร ฉันต้องการเพิกเฉยต่อการเปลี่ยนแปลงเล็กน้อยโดยไม่ยอมรับและเพียงเปลี่ยนสาขา
318 git  branch  git-checkout 

8
ลบโฟลเดอร์และเนื้อหาออกจากประวัติของ git / GitHub
ฉันทำงานที่เก็บข้อมูลในบัญชี GitHub ของฉันและนี่เป็นปัญหาที่ฉันสะดุด โปรเจ็กต์ Node.js พร้อมโฟลเดอร์ที่ติดตั้งแพ็กเกจ npm สองสามตัว แพ็คเกจอยู่ในnode_modulesโฟลเดอร์ เพิ่มโฟลเดอร์นั้นไปยังที่เก็บ git และผลักรหัสไปที่ github (ไม่ได้คิดเกี่ยวกับส่วนของ npm ในเวลานั้น) รับรู้ว่าคุณไม่จำเป็นต้องใช้โฟลเดอร์นั้นเพื่อเป็นส่วนหนึ่งของรหัส ลบโฟลเดอร์นั้นแล้วผลักออก ในกรณีดังกล่าวขนาดของ repo git รวมอยู่ที่ประมาณ6MBซึ่งโค้ดจริง (ทั้งหมดยกเว้นโฟลเดอร์นั้น) มีขนาดประมาณ300 KBเท่านั้น ตอนนี้สิ่งที่ฉันกำลังมองหาในที่สุดคือวิธีการกำจัดรายละเอียดของโฟลเดอร์แพ็คเกจจากประวัติของ git ดังนั้นหากใครบางคนลอกแบบพวกเขาไม่ต้องดาวน์โหลดประวัติมูลค่า 6mb ที่ไฟล์จริงเท่านั้นที่พวกเขาจะได้รับ ณ ค่าคอมมิชชันล่าสุดจะเป็น 300KB ฉันค้นหาวิธีแก้ปัญหาที่เป็นไปได้สำหรับสิ่งนี้และลองใช้ทั้งสองวิธี ลบไฟล์ออกจากที่เก็บ git (ประวัติ) http://help.github.com/remove-sensitive-data/ https://gist.github.com/1588371 สรุปสาระสำคัญดูเหมือนว่ามันทำงานที่ไหนหลังจากที่เรียกใช้สคริปต์ก็แสดงให้เห็นว่ามันได้รับการกำจัดของโฟลเดอร์นั้นและหลังจากนั้นมันก็แสดงให้เห็นว่า 50 commits ที่แตกต่างกันได้รับการแก้ไข แต่มันก็ไม่ให้ฉันกดรหัสนั้น เมื่อฉันพยายามที่จะผลักดันมันก็กล่าวว่าBranch up to dateแต่แสดงให้เห็นว่า 50 git …
318 git  github  rebase  git-rebase 

12
ฉันจะเปลี่ยนชื่อพื้นที่เก็บข้อมูลบน GitHub ได้อย่างไร
ฉันต้องการเปลี่ยนชื่อหนึ่งในที่เก็บของฉันบน GitHub แต่ฉันกลัวเมื่อมีคำเตือนสีแดงขนาดใหญ่พูดว่า: เราจะไม่ตั้งค่าการเปลี่ยนเส้นทางจากตำแหน่งเดิม คุณจะต้องอัปเดตที่เก็บข้อมูลในเครื่องของคุณเพื่อให้ชี้ไปยังตำแหน่งใหม่ การเปลี่ยนชื่ออาจใช้เวลาสักครู่ก่อนจะเสร็จสมบูรณ์ ไม่มีใครมีคำแนะนำทีละขั้นตอนเกี่ยวกับวิธีการ # 1 และ # 2 ด้วยตนเอง? หรือฉันต้องทำอะไรในพื้นที่
317 git  github  repository 

18
ฉันจะหลีกเลี่ยงข้อกำหนดของชื่อผู้ใช้และรหัสผ่านในทุก ๆ การพุชได้อย่างไร
ฉันgit pushทำงานกับที่เก็บ Git ระยะไกล ทุกคนpushจะแจ้งให้ผมที่จะป้อนข้อมูลและusername passwordฉันต้องการหลีกเลี่ยงทุกครั้งที่กด แต่จะกำหนดค่าให้หลีกเลี่ยงได้อย่างไร
317 git  github  git-push 

3
ฉันจะ 'สถานะ git' ได้อย่างไรจึงไม่แสดงไฟล์ที่ไม่ได้ติดตามโดยไม่ใช้. gitignore
ฉันจะทำอย่างไรgit statusจึงไม่สามารถแสดงไฟล์ที่ไม่ได้ติดตามโดยไม่ต้องใช้.gitignore? ฉันต้องการรับข้อมูลสถานะการดัดแปลงสำหรับไฟล์ที่ถูกติดตามเท่านั้น

11
เป็นไปได้หรือไม่ที่จะมีการกำหนดค่า Git ที่แตกต่างกันสำหรับโครงการต่างๆ
.gitconfigมักจะเก็บไว้ในuser.homeไดเรกทอรี ฉันใช้ข้อมูลระบุตัวตนที่แตกต่างกันในการทำงานกับโครงการสำหรับ บริษัท A และอย่างอื่นสำหรับ บริษัท B (โดยหลักคือชื่อ / อีเมล) ฉันจะมีการกำหนดค่า Git ต่างกันสองวิธีเพื่อให้การเช็คอินของฉันไม่ไปกับชื่อ / อีเมล
315 git  git-config 

11
Git: วิธีการสควอชทั้งหมดมุ่งมั่นที่สาขา
ฉันสร้างสาขาใหม่จากmasterด้วย: git checkout -b testbranch ฉันลงมือทำ 20 ข้อ ตอนนี้ฉันต้องการสควอชทั้ง 20 คอมมิชชัน ฉันทำอย่างนั้นกับ: git rebase -i HEAD~20 จะเป็นอย่างไรถ้าฉันไม่รู้ว่ามีคนผูกพันไปกี่คน? มีวิธีที่จะทำสิ่งที่ชอบ: git rebase -i all on this branch

3
วิธีการ git-svn โคลน n แก้ไขครั้งล่าสุดจากพื้นที่เก็บข้อมูลการโค่นล้ม?
ปัญหา คุณจะสร้างสำเนาตื้น ๆ ด้วย git-svn จากแหล่งเก็บข้อมูลการโค่นล้มได้อย่างไรเช่นคุณจะดึงเฉพาะการแก้ไขสามครั้งล่าสุดได้อย่างไร git cloneคำสั่งจะได้รับการแก้ไข n ที่ผ่านมาจากที่เก็บ Git ถ้าคุณใช้ตัวเลือก--depthคือคุณได้รับสำเนาตื้นของพื้นที่เก็บข้อมูล ตัวอย่าง: git clone --depth 3 git://some/repo myshallowcopyrepo มีตัวเลือกที่คล้ายกันสำหรับ git-svn? การค้นพบของฉันจนถึงตอนนี้ จนถึงตอนนี้ฉันเพิ่งพบ-rNตัวเลือกที่Nจะแก้ไขการดึง ตัวอย่าง: git svn clone -rN svn://some/repo -r$REVNUMBER:HEADตามเอกสารที่มีความเป็นไปได้ที่จะใช้ ฉันลองทำสิ่งต่อไปนี้เพื่อรับการแก้ไข 3 ครั้งล่าสุดซึ่งส่งคืนข้อความแสดงข้อผิดพลาด $ git svn clone --prefix=svn/ -s -rHEAD~3:HEAD http://some/svn/repo . revision argument: HEAD~3:HEAD not understood by git-svn ดังนั้นฉันจึงแทนที่HEAD~3ด้วยจำนวนจริงของการแก้ไขครั้งที่สาม …

8
ใช้. gignignore บนที่เก็บที่มีอยู่แล้วติดตามไฟล์จำนวนมาก
ฉันมีโครงการ Visual Studio ที่มีอยู่ในที่เก็บของฉัน ฉันเพิ่งเพิ่มไฟล์. gitignore ภายใต้โครงการของฉันและฉันคิดว่านั่นเป็นการบอกให้ Git ละเว้นไฟล์ที่แสดงในไฟล์ ปัญหาของฉันคือไฟล์ทั้งหมดเหล่านั้นกำลังถูกติดตามอยู่และเท่าที่ฉันรู้ Git จะไม่เพิกเฉยต่อไฟล์ที่ถูกติดตามแล้วก่อนที่จะมีการเพิ่มกฎลงในไฟล์นี้เพื่อละเว้น มันแนะนำให้ใช้: git rm --cachedและยกเลิกการติดตามพวกเขาด้วยตนเอง แต่นั่นจะพาฉันไปตลอดกาลเพื่อผ่านพวกเขาทีละคน ฉันคิดเกี่ยวกับการลบที่เก็บและสร้างใหม่อีกครั้ง แต่คราวนี้มีไฟล์. gitignore อยู่ แต่ต้องมีวิธีที่ดีกว่าในการทำเช่นนี้
314 git  gitignore 

6
'git blame' ทำอะไรได้บ้าง
ฉันเห็นคำถามมากมายเกี่ยวกับวิธีการใช้git blameแต่ฉันไม่เข้าใจจริงๆ ฉันเห็นBlameปุ่มที่ด้านบนของไฟล์ในส่วนต่อประสาน GitHub เมื่อคลิกแล้วจะมีชื่อผู้ใช้แตกต่างกันที่แถบด้านซ้าย สิ่งนี้บ่งบอกอะไร? ทำไมgit blameใช้จริงนอกเหนือจาก GitHub
314 git  git-blame 

9
วิธีชำระเงินใน Git ตามวันที่?
ฉันกำลังทำงานกับการถดถอยในซอร์สโค้ด ฉันต้องการบอก Git: "ชำระเงินแหล่งที่มาตามวันที่ / เวลาที่กำหนดพารามิเตอร์" เป็นไปได้ไหม ฉันมีการเปลี่ยนแปลงเป็นระยะในมุมมองปัจจุบันของฉันที่ฉันไม่ต้องการสูญเสีย เป็นการดีที่ฉันต้องการสลับไปมาระหว่างแหล่งที่มาปัจจุบันและบางรุ่นที่ฉันสนใจตามวันที่ก่อนหน้า
314 git  git-checkout 

5
ความแตกต่างระหว่าง git pull และ git pull --rebase
ฉันเริ่มใช้คอมไพล์ในบางครั้งและไม่เข้าใจความซับซ้อนอย่างสมบูรณ์ คำถามพื้นฐานของฉันที่นี่คือการหาความแตกต่างระหว่าง a git pullและgit pull --rebaseเนื่องจากการเพิ่ม--rebaseตัวเลือกดูเหมือนจะไม่ทำสิ่งที่แตกต่างกันมาก: เพียงแค่ดึง โปรดช่วยฉันด้วยการทำความเข้าใจความแตกต่าง
311 git  git-pull 

4
อธิบายว่ากฎ gitignore ใดละเว้นไฟล์ของฉัน
มีวิธีใดบ้างที่จะดูว่าเหตุใดบางไฟล์จึงถูกละเว้นโดย git (เช่นกฎใดใน.gitignoreไฟล์ที่ทำให้ไฟล์นั้นถูกละเว้น)? ลองนึกภาพฉันมีนี้ (หรือสถานการณ์ที่ซับซ้อนมากขึ้นด้วยหลายร้อยโฟลเดอร์และหลายสิบ.gitignoreไฟล์: / -.gitignore -folder/ -.gitignore -subfolder/ -.gitignore -file.txt หากฉันใช้git add folder/subfolder/file.txtคอมไพล์อาจบ่นว่ามันถูกละเว้น: The following paths are ignored by one of your .gitignore files: folder/subfolder/file.txt Use -f if you really want to add them. มีวิธีใดบ้างที่จะรู้ว่าสิ่งใดที่เป็นไป.gitignoreได้ทั้งหมดที่มีกฎในการเพิกเฉยต่อไฟล์นี้และแสดงกฎด้วย? ชอบ: The following paths are ignored by your folder/.gitignore file (line 12: *.txt) …
310 git  gitignore 

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