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

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

12
วิธีการเลือกหลายเชอร์รี่
ฉันมีสองสาขา กระทำaเป็นหัวของหนึ่งในขณะที่อื่น ๆ ที่มีb, c, d, eและด้านบนของf aฉันต้องการที่จะย้ายc, d, eและสาขาแรกโดยไม่ต้องกระทำf bใช้เชอร์รี่รับมันเป็นเรื่องง่ายที่: เช็คเอาท์สาขาแรกเชอร์รี่เลือกหนึ่งโดยหนึ่งcไปfและ rebase สาขาที่สองบนแรก แต่มีวิธีใดที่จะเลือกเชอร์รี่ทั้งหมดc- fในคำสั่งเดียว? นี่คือคำอธิบายภาพของสถานการณ์ (ขอบคุณJJD ):

9
ฉันจะย้ายแท็กบนสาขา git ไปยังการคอมมิทที่ต่างกันได้อย่างไร
ฉันสร้างแท็กในสาขาหลักที่เรียกว่าv0.1: git tag -a v0.1 แต่จากนั้นฉันก็รู้ว่ายังมีการเปลี่ยนแปลงบางอย่างที่ฉันต้องรวมเข้ากับต้นแบบเพื่อการเปิดตัว 0.1 ดังนั้นฉันจึงทำเช่นนั้น แต่ตอนนี้v0.1แท็กของฉันติดอยู่ (เพื่อเรียกการเปรียบเทียบโพสต์ - อิท) การกระทำผิด ฉันต้องการให้มันติดอยู่กับการคอมมิทล่าสุดของมาสเตอร์ แต่มันจะติดอยู่กับคอมมิทล่าสุดที่สอง ฉันจะย้ายไปยังการมอบหมายล่าสุดได้อย่างไร?
858 git  git-tag 

30
Git สำหรับผู้เริ่มต้น: คู่มือปฏิบัติที่ชัดเจน
ล็อคแล้ว คำถามและคำตอบนี้ถูกล็อคเนื่องจากคำถามอยู่นอกหัวข้อ แต่มีความสำคัญทางประวัติศาสตร์ ขณะนี้ไม่ยอมรับคำตอบหรือการโต้ตอบใหม่ ตกลงหลังจากที่เห็นโพสต์นี้โดย PJ Hyettฉันได้ตัดสินใจที่จะข้ามไปที่สิ้นสุดและไปกับGit ดังนั้นสิ่งที่ฉันต้องการก็คือการเริ่มต้นของการปฏิบัติคู่มือ Git "ผู้เริ่มต้น" ถูกกำหนดให้เป็นคนที่รู้วิธีจัดการกับคอมไพเลอร์เข้าใจในระดับที่ว่าMakefileคืออะไรและมีการควบคุมแหล่งที่มาแบบสัมผัสโดยไม่เข้าใจมันเป็นอย่างดี "ใช้งานได้จริง" เนื่องจากบุคคลนี้ไม่ต้องการรับรายละเอียดที่ดีเกี่ยวกับสิ่งที่ Git กำลังทำอยู่เบื้องหลังและไม่สนใจ (หรือรู้) ว่ามันเผยแพร่ คำตอบของคุณอาจบอกเป็นนัยถึงความเป็นไปได้ แต่พยายามตั้งเป้าหมายสำหรับผู้เริ่มต้นที่ต้องการเก็บที่เก็บข้อมูล 'หลัก' บน 'เซิร์ฟเวอร์' ซึ่งสำรองและปลอดภัย ดังนั้น: การติดตั้ง / การตั้งค่า วิธีการติดตั้ง Git คุณจะตั้งค่า Git ได้อย่างไร พยายามที่จะครอบคลุม Linux, Windows, Mac, คิดว่า 'ไคลเอนต์ / เซิร์ฟเวอร์' ความคิด ติดตั้งเซิร์ฟเวอร์ GIT ด้วย Msysgit บน Windows คุณจะสร้างโครงการ / พื้นที่เก็บข้อมูลใหม่ได้อย่างไร …

13
อัปเดต Git submodule เป็นคอมมิทล่าสุดที่กระทำ
ฉันมีโครงการที่มี submodule Git มันมาจาก URL ของ ssh: // ... และเมื่อส่งมอบแล้ว A. Commit B ถูกส่งไปยัง URL นั้นแล้วและฉันต้องการให้ submodule ทำการดึงข้อมูลคอมมิชชันและเปลี่ยนมัน ตอนนี้ความเข้าใจของฉันคือสิ่งที่git submodule updateควรทำ แต่ก็ไม่เป็นเช่นนั้น มันไม่ได้ทำอะไรเลย (ไม่มีเอาท์พุทรหัสออกจากความสำเร็จ) นี่คือตัวอย่าง: $ mkdir foo $ cd foo $ git init . Initialized empty Git repository in /.../foo/.git/ $ git submodule add ssh://user@host/git/mod mod Cloning into mod... …

30
ปฏิเสธการอนุญาต (publickey) เมื่อปรับใช้รหัส heroku ร้ายแรง: ปลายระยะไกลวางสายโดยไม่คาดคิด
ฉันพยายามปรับใช้รหัสของฉันกับ heroku ด้วยบรรทัดคำสั่งต่อไปนี้: git push heroku master แต่รับข้อผิดพลาดต่อไปนี้: Permission denied (publickey). fatal: The remote end hung up unexpectedly ฉันได้อัปโหลดคีย์ SSH สาธารณะของฉันแล้ว แต่ข้อผิดพลาดนี้ยังคงเกิดขึ้น

5
สร้างสาขา Git ด้วยการเปลี่ยนแปลงปัจจุบัน
ฉันเริ่มทำงานกับหัวหน้าสาขาของฉันโดยคิดว่างานของฉันจะง่าย หลังจากผ่านไปครู่หนึ่งฉันก็รู้ว่าจะต้องใช้เวลามากกว่านี้และฉันต้องการทำงานทั้งหมดนี้ในสาขาใหม่ ฉันจะสร้างสาขาใหม่และรับการเปลี่ยนแปลงทั้งหมดเหล่านี้กับฉันได้อย่างไรโดยไม่ต้องมีเจ้านายที่สกปรก
848 git  git-branch 

10
ฉันจะระบุชื่อผู้ใช้และรหัสผ่านเมื่อเรียกใช้“ git clone git@remote.git” ได้อย่างไร
ฉันรู้วิธีระบุชื่อผู้ใช้และรหัสผ่านให้กับคำขอ HTTPS เช่นนี้: git clone https://username:password@remote แต่ฉันต้องการทราบวิธีการมอบชื่อผู้ใช้และรหัสผ่านให้กับรีโมตเช่นนี้: git clone git@remote.git ฉันลองแบบนี้: git clone username:password@git@remote.git git clone git@username:password@remote.git git clone git@remote.git@username:password แต่พวกเขาไม่ได้ทำงาน
845 git 


22
ค้นหาสาขาระยะไกลที่สาขาท้องถิ่นกำลังติดตาม
ดูเพิ่มเติม: ฉันจะดูได้อย่างไรว่าสาขา Git ใดกำลังติดตามสาขาระยะไกล / ต้นน้ำ ฉันจะทราบได้อย่างไรว่าสาขาในพื้นที่ห่างไกลสาขาใดที่ติดตามอยู่ ฉันต้องแยกวิเคราะห์git configเอาต์พุตหรือมีคำสั่งที่จะทำสิ่งนี้ให้ฉันได้หรือไม่?
842 git  branch  git-remote 

12
Global Git ไม่สนใจ
ฉันต้องการตั้งค่า Git ให้ข้ามไฟล์บางไฟล์ไปทั่วโลก ฉันได้เพิ่ม.gitignoreไฟล์ไปยังโฮมไดเร็กตอรี่ของฉัน ( /Users/me/) และฉันได้เพิ่มบรรทัดต่อไปนี้: *.tmproj แต่มันไม่ได้เพิกเฉยต่อไฟล์ประเภทนี้ความคิดใด ๆ ที่ฉันทำผิดไป?
841 git  global  gitignore 

20
git แทนที่ LF ด้วย CRLF
ใช้งานคอมไพล์บนเครื่อง Windows XP โดยใช้ bash ฉันส่งออกโครงการของฉันจาก SVN แล้วโคลนที่เก็บข้อมูลเปลือย จากนั้นฉันวางการส่งออกไปยังไดเรกทอรีที่เก็บเปลือยและทำ: git add -A ฉันได้รับข้อความว่า: LF จะถูกแทนที่ด้วย CRLF อะไรคือการเปลี่ยนแปลงของการแปลงนี้ นี่คือโซลูชัน. NET ใน Visual Studio
839 git 

7
git เลิกทำการเปลี่ยนแปลงที่ไม่ได้รับการยอมรับหรือไม่ได้บันทึก
ฉันพยายามยกเลิกการเปลี่ยนแปลงทั้งหมดตั้งแต่ที่ทำครั้งสุดท้าย ฉันพยายามgit reset --hardและgit reset --hard HEADหลังจากดูโพสต์นี้ ฉันตอบกลับด้วย head ตอนนี้อยู่ที่ 18c3773 ... แต่เมื่อฉันดูที่แหล่งภายในเครื่องของฉันไฟล์ทั้งหมดจะยังคงอยู่ที่นั่น ฉันพลาดอะไรไป

9
วิธีการดึงไฟล์เดียวจากการแก้ไขเฉพาะใน Git?
ฉันมีที่เก็บ Git และฉันต้องการดูว่าบางไฟล์ดูเมื่อไม่กี่เดือนที่ผ่านมา ฉันพบการแก้ไขในวันนั้น 27cf8e84bb88e24ae4b4b3df2b77aab91a3735d8มันเป็น ฉันต้องการดูว่าไฟล์หนึ่งมีลักษณะอย่างไรและยังบันทึกเป็นไฟล์ ("ใหม่") ฉันจัดการเพื่อดูไฟล์โดยใช้gitkแต่มันไม่มีตัวเลือกให้บันทึก ฉันลองใช้เครื่องมือบรรทัดคำสั่งสิ่งที่ใกล้เคียงที่สุดคือ: git-show 27cf8e84bb88e24ae4b4b3df2b77aab91a3735d8 my_file.txt อย่างไรก็ตามคำสั่งนี้แสดงส่วนต่างและไม่ใช่เนื้อหาไฟล์ ฉันรู้ว่าฉันสามารถใช้สิ่งที่ชอบPAGER=catและเปลี่ยนเส้นทางผลลัพธ์ไปยังไฟล์ในภายหลังได้แต่ฉันไม่รู้ว่าจะไปยังเนื้อหาไฟล์จริงได้อย่างไร โดยทั่วไปฉันกำลังมองหาสิ่งที่ชอบแมว SVN
831 git  single-file 

10
วิธีค้นหาที่เก็บ Git ด้วยการส่งข้อความ
ฉันตรวจสอบซอร์สโค้ดบางส่วนลงใน GIT ด้วยข้อความส่งมอบ "Build 0051" อย่างไรก็ตามฉันไม่สามารถหาซอร์สโค้ดนั้นได้อีกฉันจะแยกซอร์สนี้ออกจากที่เก็บ GIT โดยใช้บรรทัดคำสั่งได้อย่างไร ปรับปรุง เช็คอินในรุ่น 0043, 0044, 0045 และ 0046 โดยใช้ SmartGIT เช็คเอาท์ 0043 และเช็คอินในเวอร์ชันสูงสุด 0051 ที่สาขาอื่น ตรวจสอบ 0043 อีกครั้ง ตอนนี้ 0051 ได้หายไป ปรับปรุง ซอร์สโค้ดมีแน่นอนตอนนี้มันเป็นเรื่องของการตรวจสอบออก: C:\Source>git log -g --grep="0052" commit 77b1f718d19e5cf46e2fab8405a9a0859c9c2889 Reflog: HEAD@{10} (unknown <Mike@.(none)>) Reflog message: commit: 20110819 - 1724 - GL: Intermediate version. …
828 git  git-log 

29
.gitignore และ“ ไฟล์แผนผังการทำงานที่ไม่ได้ติดตามจะถูกเขียนทับโดยเช็คเอาต์”
ดังนั้นฉันจึงเพิ่มโฟลเดอร์ในไฟล์. gitignore ของฉัน เมื่อฉันทำgit statusมันก็บอกฉัน # On branch latest nothing to commit (working directory clean) อย่างไรก็ตามเมื่อฉันพยายามเปลี่ยนสาขาฉันได้รับสิ่งต่อไปนี้: My-MacBook-Pro:webapp marcamillion$ git checkout develop error: The following untracked working tree files would be overwritten by checkout: public/system/images/9/thumb/red-stripe.jpg public/system/images/9/original/red-stripe.jpg public/system/images/8/thumb/red-stripe-red.jpg public/system/images/8/original/red-stripe-red.jpg public/system/images/8/original/00-louis_c.k.-chewed_up-cover-2008.jpg public/system/images/7/thumb/red-stripe-dark.jpg public/system/images/7/original/red-stripe-dark.jpg public/system/images/7/original/DSC07833.JPG public/system/images/6/thumb/red-stripe-bw.jpg public/system/images/6/original/website-logo.png public/system/images/6/original/red-stripe-bw.jpg public/system/images/5/thumb/Guy_Waving_Jamaican_Flag.jpg public/system/images/5/original/logocompv-colored-squares-100px.png public/system/images/5/original/Guy_Waving_Jamaican_Flag.jpg public/system/images/4/thumb/DSC_0001.JPG public/system/images/4/original/logo.png public/system/images/4/original/DSC_0001.JPG …
827 git  git-merge  gitignore 

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