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

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

23
GitHub: การอนุญาตถูกปฏิเสธ (publickey) ร้ายแรง: ปลายระยะไกลวางสายโดยไม่คาดคิด
ฉันได้ทำตามคำแนะนำด้านล่างเพื่ออัพโหลดโครงการแล้ว การตั้งค่าทั่วโลก: Download and install Git git config --global user.name "Your Name" git config --global user.email tirenga@gmail.com Add your public key Next steps: mkdir tirengarfio cd tirengarfio git init touch README git add README git commit -m 'first commit' git remote add origin git@github.com:tirenga/tirenga.git git push origin master แต่ฉันได้รับข้อผิดพลาดนี้: ปฏิเสธการอนุญาต …
197 git  github  public-key 

8
รวมสองคอมมิตแรกของที่เก็บ Git หรือไม่?
สมมติว่าคุณมีประวัติที่มีทั้งสามยอมรับA, BและC : A-B-C ฉันต้องการรวมทั้งสองกระทำAและBกับหนึ่งกระทำAB : AB-C ฉันเหนื่อย git rebase -i A ซึ่งเปิดตัวแก้ไขของฉันด้วยเนื้อหาต่อไปนี้: pick e97a17b B pick asd314f C ฉันเปลี่ยนสิ่งนี้เป็น squash e97a17b B pick asd314f C จากนั้น Git 1.6.0.4 พูดว่า: Cannot 'squash' without a previous commit มีวิธีหรือเป็นไปไม่ได้?

30
git index.lock มีไฟล์อยู่เมื่อฉันพยายามที่จะส่งมอบ แต่ไม่สามารถลบไฟล์ได้
เมื่อฉันทำ 'คอมไพล์ยอมรับ' ฉันได้รับต่อไปนี้: fatal: Unable to create 'project_path/.git/index.lock': File exists. อย่างไรก็ตามเมื่อฉันทำls project_path/.git/index.lockมันก็บอกว่าไฟล์ไม่ได้อยู่ มีความคิดเกี่ยวกับสิ่งที่ฉันควรทำอย่างไร? ฉันยังสังเกตเห็นว่า project_path / .git เป็นเจ้าของโดย root ไม่แน่ใจว่าเกี่ยวข้องกับปัญหาที่ฉันพบหรือไม่ เวอร์ชัน git คือ 1.7.5.4 แก้ไข: ดูเหมือนว่าปัญหาที่น่าเป็นไปได้มากที่สุดคือกระบวนการอื่นที่ฉันเรียกใช้นั่นคือการเขียน (ไม่รู้จักฉัน) ไปยังไดเรกทอรีโครงการ ฉันรีสตาร์ทเครื่องแล้วก็ไม่มีปัญหา
197 git 

9
วิธีการตั้งค่าคอมไพล์ - ฮาร์ดไดเรคทอรีย่อย?
UPDATE² : ด้วย Git 2.23 (สิงหาคม 2019) มีคำสั่งใหม่git restoreที่ไม่นี้ให้ดูที่คำตอบที่ได้รับการยอมรับ UPDATE : นี้จะทำงานขึ้นอย่างสังหรณ์ใจเป็นของ Git 1.8.3 ดูคำตอบของฉันเอง ลองนึกภาพกรณีการใช้งานต่อไปนี้: ฉันต้องการกำจัดการเปลี่ยนแปลงทั้งหมดในไดเรกทอรีย่อยที่เฉพาะเจาะจงของแผนผังการทำงาน Git ของฉันโดยปล่อยให้ไดเรกทอรีย่อยอื่น ๆ ไม่เสียหาย ฉันสามารถทำได้git checkout .แต่เช็คเอาต์คอมไพล์ เพิ่มไดเรกทอรีที่ไม่รวมด้วยการชำระเงินแบบเบาบาง มีgit reset --hardแต่มันจะไม่ให้ฉันทำเพื่อไดเรกทอรีย่อย: > git reset --hard . fatal: Cannot do hard reset with paths. อีกครั้ง: เหตุใด git จึงไม่สามารถทำการฮาร์ด / รีเซ็ทตามเส้นทางได้ ฉันสามารถย้อนกลับแก้ไขสถานะปัจจุบันโดยใช้git diff subdir | …

11
ข้อผิดพลาด Git Push: ปฏิเสธที่จะอัปเดตสาขาเช็คเอาต์
ฉันได้แก้ไขข้อขัดแย้งในการรวมแล้วพยายามส่งการเปลี่ยนแปลงของฉันและได้รับข้อผิดพลาดต่อไปนี้: c:\Program Files (x86)\Git\bin\git.exe push --recurse-submodules=check "origin" master:master Done remote: error: refusing to update checked out branch: refs/heads/master remote: error: By default, updating the current branch in a non-bare repository remote: error: is denied, because it will make the index and work tree inconsistent remote: error: with what you pushed, …
197 git  git-push 

10
ทำไม git ถึงบอกว่า“ pull เป็นไปไม่ได้เพราะคุณมี unmerged files”?
เมื่อฉันพยายามดึงไดเรกทอรีโครงการของฉันใน terminal ฉันเห็นข้อผิดพลาดต่อไปนี้: harsukh@harsukh-desktop:~/Sites/branch1$ git pull origin master U app/config/app.php U app/config/database.php U app/routes.php Pull is not possible because you have unmerged files. Please, fix them up in the work tree, and then use 'git add/rm <file>' as appropriate to mark resolution, or use 'git commit -a'. ทำไม git ถึงพูด"Pull …

3
แนวคิด git ของ HEAD, master, origin คืออะไร?
ในขณะที่ฉันเรียนรู้เกี่ยวกับคอมไพล์ฉันพบเจอกับคำว่า HEAD, Master, Origin และฉันไม่แน่ใจว่าความแตกต่างคืออะไร หากฉันเข้าใจถูกต้อง HEAD จะเท่ากับการแก้ไขล่าสุดเสมอหรือไม่ และถ้าเป็นเช่นนั้นการแก้ไขล่าสุดของพื้นที่เก็บข้อมูลทั้งหมดหรือสาขาหรือแท็กเฉพาะหรือไม่ นี่คือความสับสน ฉันได้อ่านบทช่วยสอนมากมายเกี่ยวกับเรื่องนี้และสิ่งต่าง ๆ เช่นการรวมเข้าด้วยกัน / การรวมเข้าด้วยกัน แต่ก็ยังคลุมหัวไม่ได้
197 git 

16
git visual แตกต่างระหว่างกิ่ง
คำตอบนี้ดีมากสำหรับการเห็นภาพที่แตกต่างระหว่างสองไฟล์ที่ถูกตรวจสอบใน git: ฉันจะดูเอาต์พุต 'git diff' ด้วยโปรแกรม diff diff ได้อย่างไร อย่างไรก็ตามฉันต้องการเห็นภาพที่แตกต่างระหว่างสองสาขา จนถึงตอนนี้ทางออกที่ดีที่สุดของฉันน่าจะเป็น: git diff --name-status master dev ซึ่งไม่ค่อยมีข้อมูลและมองไม่เห็น มีอะไรที่ดีกว่านี้ไหม?
196 git  diff 

4
สามารถคอมไพล์สลับระหว่างช่องว่างและแท็บโดยอัตโนมัติ?
ฉันใช้แท็บสำหรับการเยื้องในโปรแกรมหลามของฉัน แต่ฉันต้องการที่จะทำงานร่วมกัน (ใช้ git) กับคนที่ใช้ช่องว่างแทน มีวิธีที่ git แปลงระหว่างช่องว่างและแท็บโดยอัตโนมัติ (เช่น 4 ช่องว่าง = 1 แท็บ) ในการผลัก / ดึงข้อมูลหรือไม่? (คล้ายกับการแปลง CR / LF)
196 git  tabs  indentation 

14
การกำหนดค่า Git ผ่าน SSH เพื่อเข้าสู่ระบบหนึ่งครั้ง
ฉันได้โคลนที่เก็บคอมไพล์ของฉันมากกว่า ssh ดังนั้นทุกครั้งที่ฉันสื่อสารกับผู้ให้กำเนิดโดยการกดหรือดึงฉันต้องป้อนรหัสผ่านอีกครั้ง ฉันจะกำหนดค่า git ได้อย่างไรโดยที่ฉันไม่จำเป็นต้องใส่รหัสผ่านหลาย ๆ ครั้ง?
196 git  ssh  ssh-keys 

10
การทำงานร่วมกันของคอมไพล์ด้วย Mercurial Repository
ฉันใช้ GIT บน Mac พูดพอแล้ว. ฉันมีเครื่องมือฉันมีประสบการณ์ และฉันต้องการใช้มันต่อไป ไม่มีสงครามที่นี่ ... ปัญหามักเกิดจากการทำงานร่วมกัน คนส่วนใหญ่ใช้ SVN ซึ่งยอดเยี่ยมสำหรับฉัน Git SVN ทำงานนอกกรอบและเป็นทางออกที่ไม่จีบ ผู้คนสามารถใช้ SVN ต่อไปได้อย่างมีความสุขและฉันจะไม่เสียขั้นตอนการทำงานและไม่มีเครื่องมือ ตอนนี้ ... พวกบางคนมาพร้อมกับ Mercurial ดีสำหรับพวกเขาพวกเขามีเหตุผล แต่ฉันไม่สามารถหา GIT HG นอกสถานที่ได้เลย ฉันไม่ต้องการเปลี่ยนมาใช้ HG แต่ฉันยังต้องทำงานร่วมกับที่เก็บของพวกเขา พวกคุณคนใดรู้วิธีแก้ปัญหาง่ายๆสำหรับเรื่องนี้?

5
ฉันสามารถส่งคำขอดึงส่วนสำคัญใน GitHub ได้หรือไม่
ฉันสามารถส่งคำขอดึงในส่วนสำคัญของคนอื่นใน GitHub ได้หรือไม่? ฉันตระหนักถึงส้อมโคลนและกำหนดขั้นตอนการทำงานสำหรับส่วนสำคัญที่ฉันเป็นเจ้าของ ฉันต้องการทราบว่าฉันสามารถขออัปเดตส่วนสำคัญของคนอื่นด้วยส้อมของฉันหรือไม่
195 git  github  gist  pull-request 

7
อะไรคือความแตกต่างระหว่าง“ สาขา git” และ“ git checkout -b”?
ฉันเคยgit checkout -bสร้างสาขาใหม่ ฉันคิดว่าgit branchทำสิ่งเดียวกัน สองคำสั่งเหล่านี้แตกต่างกันอย่างไรถ้าพวกเขาแตกต่างกันอย่างไร

4
วิธีเก็บไฟล์โลคัลหรือไฟล์รีโมตระหว่างการผสานโดยใช้ Git และบรรทัดคำสั่ง
ฉันรู้วิธีผสานการดัดแปลงโดยใช้ vimdiff แต่ถ้าฉันเพิ่งรู้ว่าไฟล์ทั้งหมดนั้นดีที่จะเก็บหรือทิ้งฉันจะทำอย่างไร ฉันไม่ต้องการเปิด vimdiff สำหรับแต่ละรายการฉันต้องการเปลี่ยนคำสั่งที่บอกว่า 'Keep local' หรือ 'Keep remote' EG: ฉันได้รับการรวมกับไฟล์ที่ถูกทำเครื่องหมายว่ามีการเปลี่ยนแปลงเพราะมีคนเปิดมันใต้หน้าต่างเปลี่ยน EOL แล้วก็คอมมิท เมื่อรวมฉันต้องการเก็บรุ่นของตัวเองและทิ้งเขาไป ฉันสนใจในสิ่งที่ตรงกันข้ามด้วย: ฉันทำให้เสียเวลามากและต้องการยอมรับไฟล์ระยะไกลโดยละทิ้งการเปลี่ยนแปลงของฉัน
195 git  merge  local 

12
ฉันจะได้รับการทุบตีเสร็จสิ้นเพื่อทำงานกับนามแฝงได้อย่างไร
กรณีในจุด: ฉันเป็น mac ที่มี bash v3.2.17 ฉันใช้ git ติดตั้งผ่าน macports กับตัวแปร bash_completion git checkout m<tab>เมื่อฉันพิมพ์ masterสำหรับตัวอย่างเช่นผมได้รับมันเสร็จสิ้นการ แต่ผมได้มีชื่อแทน,git checkout gcoเมื่อฉันพิมพ์gco m<tab>ฉันจะไม่ได้รับชื่อสาขาที่เติมข้อความอัตโนมัติ เป็นการดีที่ฉันต้องการการเติมข้อความอัตโนมัติเพื่อทำงานแทนนามแฝงทั้งหมดของฉันอย่างน่าอัศจรรย์ เป็นไปได้ไหม? ความล้มเหลวนั้นฉันต้องการกำหนดค่าด้วยตนเองสำหรับแต่ละนามแฝง ดังนั้นฉันจะไปเกี่ยวกับวิธีใด
195 git  bash  shell  unix  autocomplete 

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