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

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

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

6
ข้อผิดพลาด Git: ไม่สามารถต่อท้าย. git / logs / refs / remotes / origin / master: Permission ถูกปฏิเสธ
ฉันมีปัญหาแปลก ๆ ที่ดูเหมือนจะแก้ไขไม่ได้ นี่คือสิ่งที่เกิดขึ้น: ฉันมีไฟล์บันทึกบางไฟล์ในที่เก็บ github ซึ่งฉันไม่ต้องการที่นั่น ฉันพบสคริปต์นี้ที่ลบไฟล์ทั้งหมดออกจากประวัติคอมไพล์ดังนี้: #!/bin/bash set -o errexit # Author: David Underhill # Script to permanently delete files/folders from your git repository. To use # it, cd to your repository's root and then run the script with a list of paths # you want to delete, …
87 git  github 

8
git rm - fatal: pathspec ไม่ตรงกับไฟล์ใด ๆ
ฉันเพิ่มรูปภาพมากกว่า 9000 รูปลงในโฟลเดอร์โครงการโดยไม่ได้ตั้งใจ และมุ่งมั่นพวกเขา จากนั้นลบออกจากดิสก์ มุ่งมั่น. ตอนนี้ฉันพยายามพุชการเปลี่ยนแปลงไปยังเซิร์ฟเวอร์ git แต่ใช้เวลานานเกินไปและพยายามส่งข้อมูล 12 Gb ฉันตรวจสอบขนาดไฟล์บนดิสก์และเห็นว่าจริงๆแล้ว.gitโฟลเดอร์นั้นใช้เวลา 12 Gb จะลบรูปภาพจากที่นั่นได้อย่างไร? ฉันพยายามgit rmแต่ล้มเหลว: ❯ git rm public/photos fatal: pathspec 'public/photos' did not match any files เพราะฉันลบออกจากดิสก์แล้ว แต่มันยังอยู่ใน.gitโฟลเดอร์ ฉันพยายามเพิ่มpublic/photosใน.gitignore: public/photos/ *.zip แต่ไม่มีผล. แน่นอนว่าฉันสามารถทำได้hard reset headในช่วงเวลาที่ฉันไม่มีรูปถ่ายขยะมากมายในโปรเจ็กต์ของฉัน แต่ตั้งแต่นั้นเป็นต้นมาฉันก็ทำผิดหลายครั้งและทำการเปลี่ยนแปลงโค้ดมากมาย

2
คำเตือนเกี่ยวกับ“ ตัวแปร diff.renamelimit” เมื่อทำการ git push
ฉันกำลังผลักดันโลคัลคอมมิตไปยังเซิร์ฟเวอร์ git ระยะไกลและได้รับข้อความเตือนต่อไปนี้: remote: warning: only found copies from modified paths due to too many files. remote: warning: you may want to set your diff.renamelimit variable to at least 19824 and retry the command. แต่จริงๆแล้วฉันได้ตั้งค่าความแตกต่างเรนาเมลมิตเป็น 0 แล้ว (ฉันคิดว่าศูนย์หมายถึงไม่ จำกัด ใช่ไหม) $ git config --list ... diff.renamelimit=0 แล้วฉันจะทำอย่างไรเพื่อหลีกเลี่ยงคำเตือนนี้? ขอบคุณ.
87 git  warnings  push 

3
แสดงการคอมมิตที่ทำโดยตรงกับสาขาโดยไม่สนใจการผสานใน Git
เมื่อใช้คอมไพล์มีวิธีแสดงคอมมิตที่ทำกับสาขาโดยไม่สนใจคอมมิตทั้งหมดที่เกิดจากการรวมหรือไม่ ฉันกำลังพยายามตรวจสอบการเปลี่ยนแปลงรหัสที่ทำในสาขาในขณะที่ไม่สนใจการเปลี่ยนแปลงที่เราทำในสาขาอื่น ๆ ที่รวมเข้าด้วยกันฉันรู้ว่ามันแทบจะเป็นไปไม่ได้เลยที่จะแสดงความแตกต่างในรูปแบบนั้น แต่ฉันอยากจะทำได้ ค้นหาว่าข้อตกลงใดที่ฉันต้องตรวจสอบ
87 git  merge  branch  diff 


8
การใช้ Git แสดงคอมมิตทั้งหมดที่มีอยู่ * เฉพาะ * ในสาขาหนึ่งที่เฉพาะเจาะจงไม่ใช่ * ใด ๆ * อื่น ๆ
กำหนดสาขาผมอยากจะเห็นรายการของกระทำที่มีอยู่เฉพาะในสาขาที่ ในคำถามนี้เราจะพูดถึงวิธีการดูว่าข้อตกลงใดอยู่ในสาขาหนึ่ง แต่ไม่ใช่สาขาอื่นที่ระบุอย่างน้อยหนึ่งสาขา สิ่งนี้แตกต่างกันเล็กน้อย ฉันต้องการที่จะดูว่ากระทำอยู่ในสาขาหนึ่ง แต่ไม่ได้อยู่ในใด ๆสาขาอื่น กรณีการใช้งานอยู่ในกลยุทธ์การแยกสาขาซึ่งควรรวมบางสาขาเข้าด้วยกันเท่านั้นและไม่เคยผูกมัดโดยตรง สิ่งนี้จะใช้เพื่อตรวจสอบว่ามีการคอมมิตโดยตรงในสาขา "ผสานเท่านั้น" หรือไม่ แก้ไข: ด้านล่างนี้เป็นขั้นตอนในการตั้งค่า dummy git repo เพื่อทดสอบ: git init echo foo1 >> foo.txt git add foo.txt git commit -am "initial valid commit" git checkout -b merge-only echo bar >> bar.txt git add bar.txt git commit -am "bad commit directly on …
87 git 

11
คำเตือน: remote HEAD หมายถึงการอ้างอิงที่ไม่มีอยู่จริงไม่สามารถชำระเงินได้
ดูเหมือนว่าเป็นข้อผิดพลาดยอดนิยมสำหรับสาเหตุต่างๆ ฉันมี repo คอมไพล์เปล่า ๆ ที่เรียกว่า "kiflea.git" ฉันโคลนมันเป็นแบบนี้: git clone git://kipdola.be/kiflea.git แล้วคอมไพล์บอกฉัน: warning: remote HEAD refers to nonexistent ref, unable to checkout. และใช่ไม่มีไฟล์เวอร์ชันในแผนที่ยกเว้นไดเร็กทอรี. git อย่างไรก็ตามสิ่งเดียวที่ฉันต้องทำคือ: cd kiflea git checkout master และใช้งานได้ไฟล์ทั้งหมดอยู่ที่นั่น แต่ฉันคิดว่าการโคลน repo จะตรวจสอบต้นแบบโดยอัตโนมัติดังนั้นสิ่งที่เกิดขึ้นและฉันจะแก้ไขได้อย่างไร ฉันสังเกตเห็นว่าหลังจากฉันทำgit checkout masterบิตแล้วสิ่งนี้จะถูกเพิ่มลงในไฟล์ config. git ในเครื่องของฉัน: [branch "master"] remote = origin merge = refs/heads/master อาจเป็นเรื่องน่าสนใจที่ทราบว่าที่เก็บ git …
87 git 

6
Git-flow และ master ที่มี release-branch หลายขนาน
เรากำลังพยายามนำรูปแบบการแยกส่วน Git ที่ประสบความสำเร็จมาใช้โดย git-flow ตอนนี้เรากำลังดำเนินการอย่างน้อยสองสาขาสำหรับรุ่นที่มีความเสถียรล่าสุดและอีกหนึ่งสาขาสำหรับรุ่นถัดไป ("ดูตัวอย่าง") สิ่งที่ฉันไม่เข้าใจคือทำไมทุกรุ่นดูเหมือนจะ "เป็นเส้นตรง" สำหรับต้นแบบและติดแท็ก ทำไมไม่ติดแท็กการเผยแพร่ในสาขาการเผยแพร่ของตน ทำไมต้องเป็นนายเลย? หรือทำไมสาขาพัฒนาและไม่ใช้หลักสำหรับมัน?
87 git  git-flow 

11
Git pull: ข้อผิดพลาด: รายการ foo ไม่อัปเดต ไม่สามารถผสาน
ฉันกำลังพยายามอัปเดต repo ของฉันจากสาขาระยะไกลและได้รับข้อผิดพลาดนี้เมื่อฉันทำการ "git pull" ฉันไม่ได้ทำการเปลี่ยนแปลงใด ๆ ในท้องถิ่นและแม้ว่าฉันจะมีฉันก็ไม่จำเป็นต้องเก็บไว้ ฉันพยายามแล้ว: git reset --hard และฉันได้รับปัญหาเดียวกัน สิ่งเดียวที่ดูเหมือนว่าจะได้ผลคือการลบไฟล์ที่ละเมิดและลองดึงคอมไพล์อีกครั้ง ฉันได้ลองgit stashแล้วตามด้วยไฟล์git pull. ไม่ไป. แก้ไข: ใช้ PortableGit-1.6.4-preview20090729 ดังนั้นข้อบกพร่องใด ๆ ก่อนหน้านี้ที่มีข้อผิดพลาดปลอมควรได้รับการแก้ไข
87 git 

3
ใครสามารถผลักดันโปรเจ็กต์ของฉันบน github ได้ไหม
ฉันยังใหม่กับ git และ github ฉันตั้งค่า repo บน github และฉันสามารถพุชสิ่งของในเครื่องไปยัง repo ระยะไกลนี้ได้ ตอนนี้คือคำถาม: หลังจากที่ฉันส่งบางสิ่งไปยัง repo ระยะไกลและฉันรีเฟรชหน้าฉันสามารถเห็นการเปลี่ยนแปลงที่อัปโหลด (ตัวอย่างเช่นถ้าฉันเขียน readme.txt และส่งไปยัง repo ระยะไกลโดยที่ ไม่มี readme.txt หลังจากกดและรีเฟรชหน้าจะปรากฏขึ้น) ใครสามารถเปลี่ยน repo ของฉันบน github ได้อย่างอิสระ? หรือถ้าฉันพุชบางอย่างไปยังเคอร์เนล linux การเปลี่ยนแปลงที่ฉันทำจะถูกเพิ่มและเผยแพร่สู่สาธารณะสำหรับทุกคนได้หรือไม่
87 git  github  push 

7
รีเซ็ต git proxy เป็นการกำหนดค่าเริ่มต้น
ฉันติดตั้ง Socat เพื่อใช้ Git Protocol ผ่าน HTTP CONNECT Proxy จากนั้นฉันสร้างสคริปต์ที่เรียกgitproxyในไดเร็กทอรี bin ของคุณ #!/bin/sh # Use socat to proxy git through an HTTP CONNECT firewall. # Useful if you are trying to clone git:// from inside a company. # Requires that the proxy allows CONNECT to port 9418. # # Save …
87 git 

9
ไม่สามารถโคลน repo github บน Linux ผ่าน HTTPS
ฉันพยายามทำง่ายๆgit clone https://github.com/org/project.gitในกล่อง CentOS แต่ได้รับ: ข้อผิดพลาด: URL ที่ร้องขอส่งคืนข้อผิดพลาด: 401 ขณะเข้าถึง https://github.com/org/project.git/info/refs ร้ายแรง: คำขอ HTTP ล้มเหลว มันไม่เคยแจ้งให้ฉันป้อนชื่อผู้ใช้ / รหัสผ่าน แต่ล้มเหลว ฉันสามารถโทรแบบเดิมบน Mac ได้ไม่มีปัญหา - ฉันขาดอะไรไป
87 linux  git  github 

6
โมดูลย่อยของ Git ดึงเข้าสู่โคลนใหม่ของซุปเปอร์โปรเจ็กต์
ตกลง. ก็เลยคิดว่าน่าเลีย ... แต่ตอนนี้ .... ฉันมีโปรเจ็กต์ที่มีไลบรารีเล็ก ๆ จาก GitHub เป็นโมดูลย่อย ในเวอร์ชันดั้งเดิมของซูเปอร์โปรเจ็กต์นั้นโมดูลย่อยทำงานได้ตามที่คาดไว้ อย่างไรก็ตามฉันเพิ่งโคลน superproject ทำในสิ่งที่ฉันคิดว่าควร: "git submodule init" ทำให้ไดเร็กทอรีของโมดูลย่อยปรากฏขึ้น แต่มันว่างเปล่า ถ้าตอนนี้ลองทำดู git submodule update ฉันเข้าใจ fatal: Needed a single revision Unable to find current revision in submodule path 'external_libraries/BEACHhtml' ถ้าฉันพยายาม git submodule foreach git pull ฉันเข้าใจ Entering 'external_libraries/BEACHhtml' fatal: Where do …

4
GitHub สำหรับ "ซิงค์" ของ Windows ทำอะไรได้บ้าง
ด้วย GitHub สำหรับ Windows คุณสามารถ "เผยแพร่" สาขาจากนั้น "ซิงค์" สาขานั้นกับ GitHub โดยพื้นฐานแล้วการซิงค์เป็นgit pullและgit push? หรือมีอะไรมากกว่านั้น? หากฉันต้องการทำขั้นตอนเดียวกับ "การซิงค์" จากบรรทัดคำสั่งฉันควรทำอย่างไร (ไม่ใช่โอเพ่นซอร์สหรือฉันแค่อ่าน)

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