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

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

2
วิธีเพิ่มสิทธิ์ chmod ในไฟล์ใน GIT?
ฉันต้องการคอมไพล์ยอมรับไฟล์. sh แต่ต้องการให้สามารถเรียกใช้งานได้เมื่อฉันเช็คเอาต์ไฟล์เดียวกันนั้นในเซิร์ฟเวอร์อื่น มีวิธีการทำเช่นนั้นโดยไม่ต้อง chmod u + x ไฟล์นั้นด้วยตนเองในเซิร์ฟเวอร์ที่เช็คเอาต์ไฟล์หรือไม่?
182 git 

5
git push --force-with-lease vs. --force
ฉันพยายามเข้าใจความแตกต่างระหว่าง git push --force และ git push --force-with-lease ฉันเดาว่าดันเพียงหลังระยะไกลถ้าระยะไกลไม่ได้มีการกระทำที่สาขาในประเทศไม่ได้มี ?
182 git  git-push 

27
ส่งข้อผิดพลาดต้นกำเนิดต้นแบบบนที่เก็บใหม่
ฉันเพิ่งเริ่มใช้คอมไพล์กับ github ฉันทำตามคำแนะนำและพบข้อผิดพลาดในขั้นตอนสุดท้าย ฉันกำลังตรวจสอบในไดเรกทอรีที่มีอยู่ซึ่งไม่ได้ควบคุมแหล่งที่มาในปัจจุบัน (โครงการประมาณหนึ่งสัปดาห์) นอกเหนือจากนั้นกรณีการใช้งานของฉันควรเป็นเรื่องที่ค่อนข้างน่าสนใจ นี่คือสิ่งที่เกิดขึ้น: $ git push origin master error: src refspec master does not match any. fatal: The remote end hung up unexpectedly error: failed to push some refs to 'git@github.com:{username}/{projectname}.git' คำแนะนำของ Github: Global setup: Download and install Git git config --global user.name "Your Name" git …
181 git  github 

7
ที่เก็บ Git ซ้อนกัน?
ฉันสามารถซ้อนที่เก็บของ Git ได้หรือไม่ ฉันมี: /project_root/ /project_root/my_project /project_root/third_party_git_repository_used_by_my_project มันสมเหตุสมผลหรือไม่ที่จะทำให้git init/addการ/project_rootจัดการทุกอย่างในท้องถิ่นง่ายขึ้นหรือฉันต้องจัดการmy_projectแยกจากกันและเป็นบุคคลที่สาม?
181 git 

9
Git clone รีโมตพื้นที่เก็บข้อมูลเฉพาะรุ่น
ฉันโคลนที่เก็บ git ระยะไกลประมาณหนึ่งเดือนที่แล้ว พื้นที่เก็บข้อมูลระยะไกลได้รับการเปลี่ยนแปลงมากมายและตอนนี้กลายเป็นไม่แน่นอน ตอนนี้ฉันต้องการสำเนาของที่เก็บอีกฉบับซึ่งเหมือนกับรุ่นที่ฉันโคลนเมื่อเดือนที่แล้ว ฉันจะทำสิ่งนี้ได้อย่างไร
181 git  git-clone 

4
บันทึกคอมไพล์ของการแก้ไขเดียว
ฉันมีความมุ่งมั่นค ฉันต้องการได้รับเซ็ตการแก้ไขของค่าคอมมิชชัน c + metainformation ที่แน่นอนและไม่มีอันอื่น มีวิธีที่ง่ายกว่าgit log -p c^..cการทำเช่นนั้น?
181 git  git-log 

2
ข้อผิดพลาดกับ repo ที่ถูกเปลี่ยนชื่อใน github“ ระยะไกล: ที่เก็บนี้ถูกย้าย โปรดใช้ตำแหน่งใหม่”
ฉันได้รับการแจ้งเตือนนี้: remote: This repository moved. Please use the new location [new location]เมื่อฉันส่งการอัปเดตจากอินสแตนซ์ในพื้นที่ของฉันไปยังต้นแบบระยะไกลบน GitHub มีวิธีแก้ไขปัญหานี้หรือไม่?
181 git 

13
'สถานะ git' แสดงไฟล์ที่ถูกเปลี่ยนแปลง แต่ 'git diff' ไม่แสดง
ฉันได้ดูคำถามที่คล้ายกันทั้งหมด อย่างไรก็ตามฉันได้ตรวจสอบซ้ำแล้วซ้ำอีกและมีบางสิ่งแปลก ๆ เกิดขึ้นอย่างแน่นอน ในเซิร์ฟเวอร์เดียว (Solaris with Git 1.8.1) ฉันโคลนที่เก็บ Git จากนั้นคัดลอกโฟลเดอร์. git ไปยังไฟล์สดที่มีอยู่ มันทำงานได้อย่างสมบูรณ์แบบฉันสามารถวิ่งได้ git status แล้วก็ git diff [filename] เพื่อตรวจสอบไฟล์ใด ๆ ที่แตกต่างกัน บนเซิร์ฟเวอร์อื่น (Solaris กับ Git 1.7.6) ฉันทำแบบเดียวกันทุกประการ git diff [filename] ไม่แสดงอะไรเลยถึงแม้ว่าเนื้อหาของไฟล์จะแตกต่างกันอย่างแน่นอน ฉันยังได้ทดสอบการเพิ่มไฟล์ใหม่ยอมรับและแก้ไข ปัญหาเดียวกันgit statusแสดงไฟล์ว่ามีการเปลี่ยนแปลง แต่git diffไม่แสดงอะไรเลย หากฉันดาวน์โหลดไฟล์ที่เปลี่ยนแปลงและรัน diff แบบโลคัลฉันจะได้รับเอาต์พุต diff
181 git  diff 

4
git switch branch โดยไม่ละทิ้งการเปลี่ยนแปลงในตัวเครื่อง
เอาล่ะสมมติว่าวันหนึ่งเราเกิดการปรับเปลี่ยนมากมายและเมื่อเราไปส่งพวกเขาเราสังเกตว่าเรากำลังทำงานผิดสาขา วิธีการที่เราสามารถบังคับให้คอมไพล์สวิทช์สาขาโดยไม่ทิ้งการเปลี่ยนแปลงในท้องถิ่น ฉันอาจจะไปเกี่ยวกับเรื่องนี้ในทางที่ไร้เดียงสาในขณะที่ฉันรอการตอบกลับ แต่ฉันอยากจะรู้ว่ามีขั้นตอนที่ถูกต้องเพราะฉันโกหกถ้าฉันบอกว่าสิ่งนี้ไม่เคยเกิดขึ้นกับฉันมาก่อน ... สำรองข้อมูลเปลี่ยน repo git reset --hard git checkout right-branch กู้คืนการเปลี่ยนแปลง git commit -m "changes"
181 git  git-branch 

3
การตั้งค่าต้นกำเนิดระยะไกล git
ฉันมี repos ต่อไปนี้ DEV REPO: ในไดเร็กทอรีบนเครื่องที่ฉันทำการเปลี่ยนแปลง หลัก repo: พื้นที่เก็บข้อมูลเปลือยบนเครื่องพัฒนาของฉันที่ฉันผลักดันการเปลี่ยนแปลงจาก dev repo PRODUCTION REPO: พื้นที่เก็บข้อมูลบนเครื่องโฮสต์เพื่อดึงการอัปเดตจาก repo หลัก ฉันเคยgit remote add origin /Users/me/sites/main_repoตั้ง repo หลักเป็นจุดเริ่มต้นสำหรับ repo DEV repo การผลิตอยู่ในโฮสต์ระยะไกล ฉันสามารถใช้รูปแบบของคำสั่งเดียวกันเพื่อตั้งค่า repo MAIN เป็นจุดเริ่มต้นสำหรับ repo การผลิตได้หรือไม่ หาก "ใช่" ดังนั้นฉันคิดว่าไวยากรณ์จะรวมที่อยู่ IP มันจะมีหน้าตาเป็นอย่างไร?
180 git 

8
เหตุใดฉันจึงต้องผลักดันสาขาใหม่อย่างชัดเจน
ฉันใหม่gitและฉันกำลังฝึกซ้อม ฉันสร้างสาขาท้องถิ่น แต่ฉันเห็นว่าเมื่อฉันทำgit pushสาขาของฉันไม่ได้อัปโหลดไปยังที่เก็บ ฉันต้องทำจริง: git push -u origin --all. ทำไมนี้ การเปลี่ยนแปลงใหม่ที่จะผลักดันเป็นค่าเริ่มต้นไม่ใช่สาขาใช่หรือไม่ ทำไมฉันต้องเรียกใช้คำสั่งที่สอง


2
ฉันจะย้ายสาขา Git ออกไปยังที่เก็บข้อมูลของตัวเองได้อย่างไร
ฉันมีสาขาที่ฉันต้องการย้ายไปเก็บที่แยก Git และเก็บประวัติของสาขานั้นไว้ในกระบวนการ จนถึงตอนนี้ฉันได้ดูgit filter-branchแต่ฉันไม่สามารถบอกได้ว่ามันสามารถทำสิ่งที่ฉันต้องการจะทำหรือไม่ ฉันจะแยกสาขา Git ออกเป็นที่เก็บของตนเองได้อย่างไร
180 git  branch  extract 

12
Git บน Bitbucket: ถามรหัสผ่านเสมอแม้หลังจากอัปโหลดคีย์ SSH สาธารณะของฉันแล้ว
ฉันอัปโหลด~/.ssh/id_rsa.pubไปยังคีย์ SSH ของ Bitbucketตามที่อธิบายไว้แต่ Git ยังขอรหัสผ่านของฉันทุกครั้งที่ดำเนินการ (เช่นgit pull) ฉันพลาดอะไรไปหรือเปล่า? มันเป็นพื้นที่เก็บข้อมูลส่วนตัว (ทางแยกของพื้นที่เก็บข้อมูลส่วนตัวของบุคคลอื่น) และฉันโคลนมันเช่นนี้: git clone git@bitbucket.org:Nicolas_Raoul/therepo.git นี่คือท้องถิ่นของฉัน.git/config: [core] repositoryformatversion = 0 filemode = true bare = false logallrefupdates = true [remote "origin"] fetch = +refs/heads/*:refs/remotes/origin/* url = https://Nicolas_Raoul@bitbucket.org/Nicolas_Raoul/therepo.git [branch "master"] remote = origin merge = refs/heads/master ในสภาพแวดล้อมเดียวกันกับคีย์สาธารณะเดียวกัน Git on Github ทำงานได้ดี …
180 git  ssh  bitbucket 

3
ลบ refs / original / heads / master จาก git repo หลังจาก filter-branch --tree-filter หรือไม่
ฉันมีคำถามเดียวกันกับที่ถามที่นี่: ที่เก็บ git ใหม่ในไดเรกทอรีรากเพื่อใช้พื้นที่เก็บข้อมูลที่มีอยู่ในไดเรกทอรีย่อย ฉันได้ทำตามคำตอบนี้ที่นี่: ที่เก็บ git ใหม่ในไดเรกทอรีรากเพื่อใช้พื้นที่เก็บข้อมูลที่มีอยู่ในไดเรกทอรีย่อย ตอนนี้gitk --allแสดงให้เห็นว่าทั้งสองประวัติศาสตร์: หนึ่งสูงสุดในปัจจุบันและเป็นหนึ่งในชื่อmasteroriginal/refs/heads/master ฉันไม่รู้ว่าประวัติที่สองนี้คืออะไรหรือจะลบออกจาก repo ได้อย่างไร ฉันไม่ต้องการประวัติสองอันในที่เก็บของฉัน ฉันจะกำจัดมันได้อย่างไร ในการทำซ้ำตัวเอง: mkdir -p project-root/path/to/module cd project-root/path/to/module mkdir dir1 dir2 dir3 for dir in * ; do touch $dir/source-file-$dir.py ; done git init git add . git commit -m 'Initial commit' ตอนนี้เรามีปัญหาของโปสเตอร์ต้นฉบับ ลองย้ายรูทของ git repo …

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