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

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

3
วิธีสร้างหน้าจอ vi
เมื่อฉันใช้ git commit --amend มันจะเข้าสู่หน้าต่าง vi เพื่อให้ฉันป้อนความคิดเห็นสำหรับการกระทำปัญหาคือหน้าต่าง vi จะแสดงอักขระสกปรกจากพื้นหลังของเชลล์ในอดีต ดังนั้นฉันจึงสงสัยว่าฉันจะให้ vi โหลดซ้ำหรือวาดหน้าจอใหม่เพื่อให้หน้าจอปกติได้อย่างไร จนถึงตอนนี้ฉันลองรีเซ็ตเทอร์มินัลและ Ctrl + L ก็ใช้ได้ แต่ฉันสงสัยว่ามีคำตอบที่ดีที่สุดสำหรับสถานการณ์เช่นนี้หรือไม่?
111 git  vim 

6
ใช้คอมมิต -a กับ vim
ฉันเพิ่งเริ่มใช้คอมไพล์ดังนั้นฉันจึงตัดสินใจที่จะเรียนรู้คอมไพล์โดยใช้บทเรียนของ github บทที่สามกล่าวว่า: "สำหรับตัวอย่างแรกนี้เราจะแก้ไขไฟล์ README เพื่อเพิ่มตัวเราเองเป็นผู้เขียนในโปรเจ็กต์ดังนั้นเราเพียงแค่แก้ไขไฟล์ตอนนี้เราต้องการยอมรับการเปลี่ยนแปลงนั้นดังนั้นเราจึงเรียกใช้git commit -aคำสั่ง" เมื่อฉันใช้git commit -aคำสั่งคอนโซลจะเปิดกลุ่มและฉันเขียนข้อความของฉัน แต่ฉันไม่รู้วิธีปิดตัวแก้ไขกลุ่มนี้จากคอนโซล ฉันจะบันทึกข้อความและปิดกลุ่มได้อย่างไร
111 git  vim 

7
git push local branch ที่มีชื่อเดียวกับ remote tag
ฉันกำลังพยายามผลักดันสาขาในพื้นที่ใหม่product-0.2ไปยังระยะไกลซึ่งมีแท็กที่มีชื่อเดียวกันอยู่แล้ว (แต่ไม่มีสาขานั้นเอง) git push -v --tags --set-upstream origin product-0.2:product-0.2 Pushing to https://****@github.com/mycompany/product.git error: src refspec product-0.2 matches more than one. error: failed to push some refs to 'https://****@github.com/mycompany/product.git' เหมือนกับ: git push origin product-0.2:/refs/heads/product-0.2 แม้ว่าวิธีอื่น ๆ การทำงานเช่นการสร้างสาขากระทำกับมันแล้วใช้แท็กproduct-0.1product-0.1 บางคนแก้ไขปัญหานี้โดยการลบแท็กที่ขัดแย้งกันในเครื่องจากนั้นกดสาขาจากนั้นดึงแท็กระยะไกล แต่ดูเหมือนจะยุ่งยากและเกิดข้อผิดพลาดได้ง่าย ฉันจะสร้างสาขาโดยไม่ยุ่งยากได้อย่างไร ขอบคุณสำหรับข้อมูลของคุณ
111 git  git-branch 

10
เปลี่ยนรหัสผ่าน GitHub แล้วไม่สามารถกดกลับไปที่รีโมทได้อีกต่อไป
หลังจากที่ฉันเปลี่ยนรหัสผ่าน GitHub ฉันไม่สามารถกดไปที่รีโมทได้: $ git push origin master remote: Invalid username or password. มีเพียงการโคลนที่เก็บอีกครั้งหรือไม่
111 git  github 

8
วิธีลบไฟล์ที่ไม่ได้ติดตามใน Git
ฉันกำลังทำงานในสาขาหนึ่งพูดว่าสาขา "ทดลอง" ซึ่งฉันแตกแขนงออกจากสาขาหลักของฉันจากนั้นฉันสร้างรูปแบบผู้ใช้ในสาขาทดลอง แต่ยังไม่ได้เพิ่มลงในดัชนี ฉันต้องทำอย่างไรหากต้องการยกเลิกการเปลี่ยนแปลงทั้งหมดของไฟล์ที่เพิ่งเพิ่มในสาขาทดลองของฉัน ไฟล์ที่ไม่ได้ติดตามมีการระบุไว้ด้านล่าง: $ git status On branch new_chick Untracked files: (use "git add <file>..." to include in what will be committed) .project app/models/user.rb db/migrate/ test/fixtures/users.yml test/unit/user_test.rb ฉันพยายามเรียกใช้ "git reset --hard" โดยหวังว่าจะเลิกทำการเปลี่ยนแปลงทั้งหมด แต่ไฟล์ทั้งหมดด้านบนยังคงแสดงอยู่ ใครก็ได้โปรดให้ความกระจ่างแก่ฉันบ้าง?
111 git 

3
สร้างที่เก็บโมดูลย่อยจากโฟลเดอร์และเก็บประวัติการคอมมิตคอมมิตไว้
ฉันมีเว็บแอปพลิเคชันที่สำรวจเว็บแอปพลิเคชันอื่น ๆ โดยเฉพาะ มีการสาธิตเว็บบางส่วนในdemosโฟลเดอร์และหนึ่งในการสาธิตควรมีที่เก็บของตัวเอง ฉันต้องการสร้างที่เก็บแยกต่างหากสำหรับแอปพลิเคชันสาธิตนี้และทำให้เป็นไฟล์แพคเกจย่อย โมดูลย่อยจากที่เก็บหลักโดยไม่สูญเสียประวัติการกระทำ เป็นไปได้ไหมที่จะเก็บประวัติการคอมมิตจากไฟล์ในโฟลเดอร์ของที่เก็บและสร้างที่เก็บจากมันและใช้มันเป็นโมดูลย่อยแทน

4
git cherry-pick ไม่ทำงาน
ฉันกำลังพยายามคัดเลือกเชอร์รี่จากผู้เชี่ยวชาญและนำเข้าสู่สาขาการผลิตปัจจุบัน อย่างไรก็ตามเมื่อฉันดำเนินการgit cherry-pick <SHA-hash>ฉันได้รับข้อความนี้: # On branch prod_20110801 # Untracked files: # (use "git add <file>..." to include in what will be committed) # site/test-result/ nothing added to commit but untracked files present (use "git add" to track) The previous cherry-pick is now empty, possibly due to conflict resolution. If …

5
มีวิธีการเพิ่มบรรทัดแสดงคอมไพล์เปลี่ยนบรรทัดและลบบรรทัดหรือไม่?
"git diff --stat" และ "git log --stat" แสดงผลลัพธ์เช่น: $ git diff -C --stat HEAD c9af3e6136e8aec1f79368c2a6164e56bf7a7e07 app/controllers/application_controller.rb | 34 +++------------------------- 1 files changed, 4 insertions(+), 30 deletions(-) แต่สิ่งที่เกิดขึ้นจริงในการกระทำนั้นคือมีการเปลี่ยนแปลง 4 บรรทัดและ 26 บรรทัดถูกลบซึ่งแตกต่างจากการเพิ่ม 4 บรรทัดและการลบ 30 มีวิธีใดบ้างในการรับเดลต้า LOCs (26 ในกรณีนี้) ฉันไม่สนใจเรื่องความแตกต่างระหว่างบรรทัดที่เพิ่มหรือลบ
111 git 

3
ฉันจะเพิ่มไฟล์ที่ไม่มีจุด (ไฟล์ที่ไม่มีนามสกุลทั้งหมด) ไปยังไฟล์ gitignore ได้อย่างไร
อย่างที่ชื่อบอกเป็นไปได้ไหมที่จะเพิ่ม "ไฟล์ที่ไม่มีจุด" ลงในไฟล์ gitignore ฉันคิดว่านี่จะดูแลไฟล์นามสกุลที่น่ารำคาญเหล่านั้นทั้งหมด
111 git  gitignore 

2
เมื่อใดควรใช้เครื่องหมายทับใน gitignore
ฉันพยายามทำความเข้าใจ.gitignoreไวยากรณ์ให้ชัดเจนยิ่งขึ้นและโดยเฉพาะอย่างยิ่งเท่าที่เกี่ยวข้องกับhttps://github.com/github/gitignore gitignores ฉันเห็นว่าเครื่องหมายทับนำหน้าใช้เพื่อจับคู่เฉพาะชื่อพา ธ ที่สัมพันธ์กับตำแหน่งของ.gitignoreไฟล์ (จากhttp://git-scm.com/docs/gitignore ): เครื่องหมายทับนำหน้าตรงกับจุดเริ่มต้นของชื่อพา ธ ตัวอย่างเช่น "/*.c" ตรงกับ "cat-file.c" แต่ไม่ใช่ "mozilla-sha1 / sha1.c" แต่จะเกิดอะไรขึ้นเมื่อฉันลบเครื่องหมายทับ เท่าที่ฉันเข้าใจมีสองกรณี: หากรูปแบบไม่มีเครื่องหมายทับ (หรือมีเพียงเครื่องหมายทับซึ่งหมายความว่าควรตรงกับไดเร็กทอรี) การค้นหาจะดำเนินการภายในแผนผังไดเร็กทอรีทั้งหมด ตัวอย่างเช่นรูปแบบdir/จะตรงกับ<root>/dir, <root>/a/dir, <root>/a/b/c/.../dirและอื่น ๆ ที่<root>เป็นที่ตั้งของ.gitignoreไฟล์ หากรูปแบบมีเครื่องหมายทับซึ่งไม่อยู่ในตำแหน่งต่อท้าย (ไม่ใช่อักขระตัวสุดท้าย) รูปแบบนั้นจะจับคู่กับชื่อพา ธ ที่สัมพันธ์กับตำแหน่ง.gitignoreไฟล์เท่านั้น นี่คือตัวอย่างที่ฉันทำขึ้นเพื่อตรวจสอบพฤติกรรมนี้: # Directory structure: <root> ├─ dir/ │ └─ test ├─ src/ │ ├─ dir/ │ │ └─ …
111 git  gitignore 

18
การตรวจสอบสิทธิ์ล้มเหลวสำหรับ https://xxx.visualstudio.com/DefaultCollection/_git/project
ฉันพยายามใช้คอมไพล์เพื่อพุชที่เก็บของฉันไปยังโปรเจ็กต์บริการทีมวิชวลสตูดิโอ แต่ฉันได้รับข้อผิดพลาด: fatal: Authentication failed for (url of team project) ฉันใช้คำสั่ง: git remote add origin https://XXXXXXX.visualstudio.com/DefaultCollection/_git/project git push -u origin -–all มีความคิดเกี่ยวกับการแก้ไขปัญหานี้หรือไม่?
111 git  azure-devops 

2
git push origin HEAD หมายถึงอะไร?
ฉันพบในคู่มืออย่างเป็นทางการ : git push origin HEAD วิธีที่สะดวกในการผลักดันสาขาปัจจุบันไปยังชื่อเดียวกันบนรีโมท อย่างไรก็ตามความหมายของคำสั่งนั้นไม่ชัดเจนสำหรับฉัน ทำไมถึงมีผลเช่นนี้ ฉันไม่สามารถหาคำตอบได้ ( คำถามนี้ดูเหมือนจะช่วยแก้ปัญหาได้ แต่ชื่อเรื่องทำให้เข้าใจผิด)
111 git  git-push 

5
จะชี้การพึ่งพาโมดูล Go ใน go.mod ไปยังการกระทำล่าสุดใน repo ได้อย่างไร
เริ่มต้นด้วย v1.11 Go เพิ่มการสนับสนุนสำหรับโมดูล คำสั่ง go mod init <package name> go build จะสร้างgo.modและgo.sumไฟล์ที่มีเวอร์ชันที่พบทั้งหมดสำหรับการอ้างอิงแพ็กเกจ หากโมดูลไม่มีรีลีสใด ๆ จะใช้คอมมิตล่าสุดของโมดูลนั้น หากโมดูลมีรีลีสโมดูลล่าสุดจะถูกเลือกเป็นการอ้างอิง อย่างไรก็ตามบางครั้งฉันต้องการฟังก์ชันที่ยังไม่ได้อยู่ในรุ่นที่เผยแพร่ แต่จากการคอมมิตที่ทำหลังจากรุ่นนั้น ฉันจะตั้งค่าgo.modไม่ให้ชี้ไปที่รีลีสของโมดูลได้อย่างไร แต่เป็นการคอมมิตเฉพาะในที่เก็บของโมดูล ดูเหมือนว่าฉันสามารถทำได้ด้วยมือไปแล้ว Mod ด้วย module /my/module require ( ... github.com/someone/some_module v0.0.0-20181121201909-af044c0995fe ... ) โดยที่v0.0.0ไม่ตรงกับแท็กรุ่นที่เผยแพร่ล่าสุด20181121201909จะเป็นการประทับเวลาคอมมิตและaf044c0995feจะเป็นคอมมิตแฮชหรือไม่ ข้อมูลดังกล่าวควรหาและป้อนด้วยมือหรือมีวิธีที่ดีกว่านี้?
111 git  go  module 

9
บางเว็บเซิร์ฟเวอร์: start_tcp_server: ไม่ยอมรับ (RuntimeError) หลังจากการชำระเงินสาขา git
แอพ Rails 3.2.0 ทำงานได้ดีกับ Thin Web Server ทั้งในเครื่องและบน Heroku cedar stack หลังจาก: $ git branch work $ git checkout work $ rails server ฉันเข้าใจ: => Booting Thin => Rails 3.2.0 application starting in development on http://0.0.0.0:3000 => Call with -d to detach => Ctrl-C to shutdown server >> Thin web …


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