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

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


9
ฉันจะแปลงที่เก็บ git เป็น Mercurial ได้อย่างไร
ฉันได้พัฒนาแอปพลิเคชัน java โดยใช้ git เป็นที่เก็บซอร์สโค้ด ฉันต้องการแชร์โครงการกับนักพัฒนา java คนอื่น ๆ และดูเหมือนว่า hg จะถูกใช้มากที่สุด คำถามของฉันคือฉันจะแปลง git repository เป็น hg ได้อย่างไร ถ้าฉันลองใช้ googling "แปลง git เป็น hg" และทุก ๆ การค้นหาจะเกี่ยวกับการแปลงจาก hg เป็น git ฉันยังใช้TortoiseHg

2
Git rebase ล้มเหลว 'การเปลี่ยนแปลงในเครื่องของคุณในไฟล์ต่อไปนี้จะถูกเขียนทับโดยการผสาน' ไม่มีการเปลี่ยนแปลงในท้องถิ่น?
นี่คือการถอดเสียงของฉันจากการพยายามรวมสาขา bugfix เข้ากับสาขาหลักของฉันเพื่อเตรียมพร้อมที่จะผลักดันมันต้นน้ำ มีการเปลี่ยนแปลงต้นน้ำบางอย่างที่ดึงมาเป็นหลักตั้งแต่สร้างสาขาแก้ไขข้อบกพร่องและตอนนี้ปฏิเสธที่จะตั้งฐานใหม่ ไฟล์ที่แสดงข้อผิดพลาดจะไม่แตกต่างกันเมื่อเปิด ไม่มีการเพิ่มลบหรือเปลี่ยนชื่อไฟล์ ไม่มีสิ่งใดถูกละเลยและไม่มีการติดตามหรือจัดฉากหรือไม่มีการจัดฉาก ฉันอึ้งไปเลยว่าทำไมการรีเบสจึงล้มเหลว ฉันใช้ OS X 10.6.6 และ git 1.7.4 .-(/Volumes/joshua/www/txfunds)-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------(joshua@Kusanagi)- `--> git rebase bug586-test master-test First, rewinding head to replay your work on top of it... Applying: - comiitting code related to api permissions Using index info to reconstruct a base tree... Falling back …
104 git  git-rebase 

11
บางส่วนกระทำด้วยการโค่นล้ม
ในกรณีที่ฉันทำการเปลี่ยนแปลงสองอย่างที่เป็นอิสระในไฟล์เดียว : เช่น. เพิ่มวิธีการใหม่และเปลี่ยนวิธีการอื่น ฉันมักจะไม่ต้องการที่จะกระทำการเปลี่ยนแปลงทั้งในฐานะหนึ่งกระทำ แต่เป็นสองกระทำที่เป็นอิสระ เมื่อเก็บคอมไพล์ฉันจะใช้โหมดการโต้ตอบของคอมไพล์เพิ่ม (1)การแบ่งก้อนใหญ่เป็นคนเล็ก: git add --patch วิธีที่ง่ายที่สุดในการโค่นล้มคืออะไร? (อาจจะใช้ปลั๊กอิน Eclipse ด้วยซ้ำ) อัปเดต: ในThe Thing About Gitไรอันเรียกมันว่า: “ ปัญหาการทำงานแบบ Tangled Working Copy”
104 svn  git 

8
เราจะเปลี่ยนภาษาของอินเทอร์เฟซบรรทัดคำสั่งของ Git ได้อย่างไร?
ฉันต้องการเปลี่ยนภาษาของ git (เป็นภาษาอังกฤษ) ในการติดตั้ง Linux โดยไม่เปลี่ยนภาษาสำหรับโปรแกรมอื่นและไม่พบการตั้งค่า ทำอย่างไร?

7
ฉันจะ "เลิกทำ" - โคลนสาขาเดียวได้อย่างไร
ฉันโคลน repo โดยใช้ไฟล์ git clone -b <branch name> --single-branch <github url> <target directory> โคลนนี้เฉพาะสาขานี้ แต่ตอนนี้ฉันต้องการเปลี่ยนไปใช้สาขาหลักและสาขาอื่น มีวิธีใดบ้างนอกจากการล้างมันออกและเริ่มต้นใหม่เพื่อโคลน repo ที่เหลือที่ฉันสามารถเลิกทำการตั้งค่า - สาขาเดียวได้หรือไม่
104 git  github 

4
Git: จะใช้ซ้ำ / เก็บข้อความคอมมิตหลังจาก 'git reset' ได้อย่างไร?
ในฐานะที่เป็นผู้ใช้ Git ฉันมักจะเจอสถานการณ์นี้ฉันจึงจำเป็นต้องทำการคอมมิตใหม่อย่างน้อยหนึ่งครั้งในลักษณะที่ไม่เข้ากับ--amendหรือrebase -iกับการแก้ไข โดยปกติฉันจะทำอะไรบางอย่างเช่น git reset HEAD~1 # hack, fix, hack git commit -a # argh .. do I need to retype my message? ฉันใช้ข้อความคอมมิตที่มีเหตุผลค่อนข้างจริงจัง โดยทั่วไปจะมีข้อความขนาดใหญ่พร้อมการอ้างอิงและเหตุผลสำหรับการเปลี่ยนแปลง จนถึงขณะนี้ผมรำคาญมากในกระบวนการที่มีความยาวในการกู้คืนกระทำข้อความเก่าของฉันผ่านไม่ได้เรียงลำดับgit reflog, git logและคัดลอกและวางกระบวนการ มีวิธีที่ดีกว่าในการจัดการกับสิ่งนี้หรือไม่? และจะเป็นอย่างไรถ้าฉันประกอบด้วยมากกว่าหนึ่งการกระทำ? แก้ไข:หลังจากคิดเกี่ยวกับสิ่งนี้เล็กน้อยฉันคิดว่าสิ่งที่ฉันกำลังมองหาคือฟังก์ชันการทำงานที่เหมือนgit stash -like สำหรับส่งข้อความที่แก้ไข / แก้ไขคอมมิชชันไม่เหมาะสม

5
Git ผสานเครื่องหมาย HEAD ด้านซ้ายในไฟล์ของฉัน
ฉันพยายามรวมไฟล์ในบรรทัดคำสั่งโดยใช้ Git เมื่อข้อความแสดงข้อผิดพลาดปรากฏขึ้นแจ้งว่าการผสานถูกยกเลิก ฉันคิดว่านั่นคือจุดจบของมัน แต่แล้วฉันก็รู้ว่ามี gitmarks ในไฟล์ของฉัน ชอบมาก: start = expression validchar = [0-9a-zA-Z_?!+\-=@#$%^&*/.] integer = <<<<<<< HEAD digits:[0-9]+ { return digits.join(""); } ======= sign:"-"* digits:[0-9]+ { return sign + digits.join(""); } >>>>>>> gh-pages ไฟล์ไม่ได้ถูกแก้ไขโดยฉันและแสดงบรรทัดที่แทรกด้วย: HEAD หลังเครื่องหมายน้อยกว่า ( <<<<<<< HEAD) บรรทัดของรหัสที่เปลี่ยนแปลง สตริงของเครื่องหมายเท่ากับ ( =======) เวอร์ชันใหม่ของรหัส อีกบรรทัดที่ขึ้นต้นด้วยมากกว่าเครื่องหมายและชื่อของสาขา ( >>>>>>> gh-pages) สิ่งที่แย่กว่านั้นคือเนื้อหาของไฟล์ไม่อยู่ในลำดับอีกต่อไป …

2
ดึงคอมมิตทั้งหมดจากสาขาผลักคอมมิตที่ระบุไปยังอีกอัน
ฉันมีสาขาดังต่อไปนี้: master production และสาขาระยะไกลต่อไปนี้: origin/master origin/production ฉันมีสคริปต์ที่ดึงข้อมูลorigin/masterสาขาและได้รับความแตกต่างของสิ่งที่เปลี่ยนแปลงไปจากการดึงข้อมูลล่าสุดของฉัน ( log -p master..origin/master) origin/masterแล้วฉันจะผสาน คอมมิตที่พบจะถูกพุชไปยังเครื่องมือตรวจสอบโค้ด ฉันต้องการที่จะผลักดันกระทำที่ประสบความสำเร็จ - และมีเพียงพวกเขา - origin/productionสาขาการผลิตและแล้วแน่นอนไป ฉันจะทำเช่นนั้นได้อย่างไร? นอกจากนี้ฉันยังมีสคริปต์ 2 สคริปต์ที่เรียกใช้: สคริปต์ที่ดึงข้อมูลจากorigin/masterพุชส่งรายละเอียดไปยังฐานข้อมูลและรวมและอีกอันที่ฉันกำลังเขียนอยู่ซึ่งจะต้องผลักดันการกระทำที่ประสบความสำเร็จ ฉันต้องการให้สคริปต์ 2 ตัวนี้ทำงานในขณะที่หลีกเลี่ยงเงื่อนไขการแข่งขัน / ผสานความขัดแย้ง เนื่องจากฉันต้องการทำงานกับความมุ่งมั่นที่ระบุเท่านั้นอาจมีวิธีกำจัดการกระทำที่ฉันไม่ต้องการ?
104 git  branch 

3
จะเปลี่ยนโมดูลย่อย git ให้ชี้ไปที่โฟลเดอร์ย่อยได้อย่างไร
skimming ผ่านsubmodule กวดวิชาฉันสร้าง submodule ออกจากโครงการ Boto จากนั้นฉันก็ค้นพบว่าจริงๆแล้วฉันต้องการเพียงบางส่วนของโปรเจ็กต์นี้โดยเฉพาะโฟลเดอร์boto ฉันต้องการเปลี่ยนโมดูลย่อยของฉันให้ชี้ไปที่โฟลเดอร์นี้ เมื่อฉันดูใน. gitmodules ฉันเห็น [submodule "backup/src/boto"] path = backup/src/boto url = https://github.com/boto/boto.git สิ่งที่ฉันควรใช้ URL แทนhttps://github.com/boto/boto.git ? หลังจากเปลี่ยน URL แล้วควรลบโฟลเดอร์ boto ในเครื่องแล้วดึงใหม่หรือไม่

6
จะเลิกทำ "git cherry-pick" ที่ประสบความสำเร็จได้อย่างไร
ใน repo ท้องถิ่นฉันเพิ่งดำเนินการgit cherry-pick SHAโดยไม่มีข้อขัดแย้งหรือปัญหาใด ๆ จากนั้นฉันก็ตระหนักว่าฉันไม่ต้องการทำสิ่งที่ฉันเพิ่งทำ ฉันไม่ได้ผลักดันสิ่งนี้ไปไหน ฉันจะเอาเชอร์รี่แค่นี้ออกได้อย่างไร? ฉันต้องการทราบว่ามีวิธีดำเนินการดังนี้ เมื่อฉันมีการเปลี่ยนแปลงอื่น ๆ ในท้องถิ่น เมื่อฉันไม่มีการเปลี่ยนแปลงอื่น ๆ ในท้องถิ่น ควรใช้คำสั่งเดียวสำหรับทั้งสองกรณีหากเป็นไปได้
104 git 

4
จะย้ายที่เก็บ git ไปยังไดเร็กทอรีอื่นและทำให้ไดเร็กทอรีนั้นเป็นที่เก็บ git ได้อย่างไร
ฉันมีไดเร็กทอรี gitrepo1 ไดเร็กทอรีนี้เป็นที่เก็บ git ฉันต้องการย้ายgitrepo1นี้ไปยังไดเร็กทอรีอื่น newrepoอื่น ไดเร็กทอรีnewrepoควรเป็นที่เก็บ git ใหม่โดยไม่มีการสูญเสียประวัติ git และควรมีไดเร็กทอรี gitrepo1 ไดเร็กทอรีgitrepo1ควรเป็นไดเร็กทอรีตอนนี้ (ภายในnewrepo ) โดยไม่มี.gitดัชนีใด ๆกล่าวคือไม่ควรเป็นที่เก็บ git อิสระหรือโมดูลย่อยอีกต่อไป ฉันจะทำเช่นนี้ได้อย่างไร?
104 git 

14
ไม่รู้จัก 'ssh-keygen' เป็นคำสั่งภายในหรือภายนอก
ฉันวิ่ง git push -u origin master มันบอกฉันว่า "การอนุญาตถูกปฏิเสธ (คีย์สาธารณะ) ร้ายแรง: ปลายรีโมตวางสายโดยไม่คาดคิด" จากนั้นฉันค้นหาบนอินเทอร์เน็ตและพบว่าฉันต้องสร้างคีย์ ssh สำหรับบัญชีของฉันบน GitHub อย่างไรก็ตามเมื่อทำเช่นนั้นเมื่อฉันพยายามทำ ssh-keygen -t rsa "email@youremail.com" เพียงแค่บอกว่าไม่รู้จัก ssh-keygen ฉันพยายามทำ mkdir C: \ ssh แต่ไม่ได้ผล ถ้ามันช่วยได้ฉันใช้ Ruby Rails และฉันใช้คอมพิวเตอร์ Windows มีใครช่วยฉันได้บ้าง
103 windows  git  ssh  github 


5
เปลี่ยนชื่อสาขาในคอมไพล์
อาจมีมากกว่าหนึ่งวิธีในการถามคำถามนี้ดังนั้นนี่คือคำอธิบายของปัญหา ฉันกำลังทำงานหลักและมุ่งมั่นบางอย่างจากนั้นก็ตัดสินใจว่าฉันต้องการพักงานนั้นไว้ ฉันสำรองข้อมูลไว้สองสามข้อแล้วแยกจากก่อนที่ฉันจะเริ่มงานอึ ในทางปฏิบัติได้ผลดีตอนนี้ฉันมีสาขาอื่นเป็นสาขาการพัฒนาหลักของฉัน ฉันสงสัยว่าฉันจะเปลี่ยนแปลงสิ่งต่างๆรอบตัวได้อย่างไรดังนั้นฉันจึงทำงานกับผู้เชี่ยวชาญอีกครั้ง แต่มันไม่มีงานขยะของฉันและบอกว่างานอยู่ในสาขาอื่น วิธีบางอย่างที่สามารถถาม / แก้ไขได้: ฉันจะเปลี่ยนชื่อสาขาหลักของฉันไปเป็นอย่างอื่นได้อย่างไรแล้วเปลี่ยนชื่อสาขาอื่นเป็นหลัก ฉันจะสำรองข้อมูลหลักแล้วทำให้การกระทำทั้งหมดที่ฉันสำรองไว้ในอดีตไปอยู่ในสาขาอื่นได้อย่างไร ขอบคุณสำหรับคำตอบ (ด่วน) ทั้งหมด! พวกเขาดีทั้งหมด
103 git  branch 

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