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

คำถามเกี่ยวกับการทำธุรกรรมหรือ "หน่วยงาน" กับฐานข้อมูลแอปพลิเคชันหรือระบบควบคุมเวอร์ชัน

10
ลบการกระทำที่เฉพาะเจาะจง
ฉันทำงานกับเพื่อนในโครงการและเขาแก้ไขไฟล์จำนวนมากที่ไม่ควรได้รับการแก้ไข ยังไงก็เถอะฉันรวมงานของเขาเข้ากับฉันไม่ว่าตอนที่ฉันดึงมันหรือเมื่อฉันพยายามเลือกไฟล์เฉพาะที่ฉันต้องการ ฉันค้นหาและเล่นมาเป็นเวลานานพยายามหาวิธีลบการกระทำที่มีการแก้ไขไฟล์เหล่านั้นดูเหมือนว่าเป็นการโยนระหว่างการย้อนกลับและการรีบูตและไม่มีตัวอย่างที่ตรงไปตรงมาและ เอกสารถือว่าฉันรู้มากกว่าที่ฉันทำ ดังนั้นนี่เป็นคำถามที่ง่ายขึ้น: จากสถานการณ์สมมติต่อไปนี้ฉันจะลบการคอมมิท 2 ได้อย่างไร $ mkdir git_revert_test && cd git_revert_test $ git init Initialized empty Git repository in /Users/josh/deleteme/git_revert_test/.git/ $ echo "line 1" > myfile $ git add -A $ git commit -m "commit 1" [master (root-commit) 8230fa3] commit 1 1 files changed, 1 insertions(+), 0 …

8
เริ่มคอมไพล์ข้อความคอมไพล์ด้วย hashmark (#)
Git ปฏิบัติต่อบรรทัดที่เริ่มต้นด้วย#บรรทัดความคิดเห็นเมื่อส่งข้อมูล มันน่ารำคาญมากเมื่อทำงานกับระบบติดตามตั๋วและพยายามเขียนหมายเลขตั๋วที่จุดเริ่มต้นของบรรทัดเช่น #123 salt hashed passwords git จะลบบรรทัดออกจากข้อความคอมมิท มีวิธีใดบ้างที่จะหนีความยุ่งเหยิงนี้ได้? ฉันพยายาม\และ!แต่ไม่มีอะไรทำงาน ช่องว่างก่อนหน้า#นั้นได้รับการเก็บรักษาไว้ดังนั้นจึงไม่ใช่วิธีการแก้ปัญหาที่ใช้งานได้

17
ข้อผิดพลาดของ Git ในการคอมมิทหลังจากการรวม - ถึงขั้นรุนแรง: ไม่สามารถทำการคอมมิตบางส่วนระหว่างการรวม
ฉันวิ่งแข่งgit pullนั้นจบลงด้วยความขัดแย้ง ฉันแก้ไขข้อขัดแย้งและตอนนี้ทุกอย่างเรียบร้อยดี (ฉันใช้ mergetool ด้วย) เมื่อฉันส่งไฟล์ที่git commit file.php -m "message"ได้รับการแก้ไขโดยที่ฉันได้รับข้อผิดพลาด: fatal: cannot do a partial commit during a merge. ฉันมีปัญหาเดียวกันมาก่อนและการใช้-aงานคอมมิททำงานได้อย่างสมบูรณ์แบบ ฉันคิดว่ามันไม่ใช่วิธีที่สมบูรณ์แบบเพราะฉันไม่ต้องการกระทำการเปลี่ยนแปลงทั้งหมด ฉันต้องการส่งไฟล์แยกต่างหากพร้อมกับแสดงความคิดเห็นแยกต่างหาก ฉันจะทำสิ่งนั้นได้อย่างไร เหตุใด git จึงไม่อนุญาตให้ผู้ใช้ส่งไฟล์แยกต่างหากหลังจากทำการผสาน ฉันไม่พบคำตอบที่น่าพอใจสำหรับปัญหานี้
280 git  commit 

3
สลับการคัดลอกการทำงานเป็นการกระทำ Git ที่ระบุชั่วคราว
วิธีการเปลี่ยนไปใช้เฉพาะ Git กระทำโดยไม่สูญเสียกระทำทั้งหมดที่ทำหลังจากที่มัน ? ฉันต้องการให้ไฟล์ในตัวเครื่องมีการเปลี่ยนแปลง แต่ฐานข้อมูลของคอมมิชชันจะยังคงอยู่เพียงตั้งตัวชี้ตำแหน่งปัจจุบันไว้เป็นคอมมิทที่เลือกไว้ในปัจจุบัน ฉันต้องการเปลี่ยนสถานะของไฟล์เป็นการคอมมิทเฉพาะเรียกใช้โปรเจ็กต์และเมื่อเสร็จสิ้นให้กู้คืนไฟล์กลับไปเป็นคอมมิทล่าสุด วิธีการทำเช่นนี้โดยไม่ต้องซิปโฟลเดอร์ทั้งโครงการ
248 git  commit  temporary 

9
จะลบรายการบันทึกการกระทำที่เลือกไว้จากที่เก็บ Git ในขณะที่ยังคงการเปลี่ยนแปลงได้อย่างไร
ฉันต้องการลบรายการบันทึกการกระทำที่เลือกจากแผนผังการส่งข้อมูลเชิงเส้นเพื่อให้รายการไม่แสดงในบันทึกการส่ง ต้นไม้ที่ฉันสร้างดูเหมือนว่า: R--A--B--C--D--E--HEAD ฉันต้องการลบรายการ B และ C เพื่อไม่ให้แสดงในบันทึกการกระทำ แต่ควรเปลี่ยนจาก A เป็น D อาจจะด้วยการแนะนำการกระทำเพียงครั้งเดียวเพื่อให้ B และ C กลายเป็น BC และต้นไม้ดูเหมือน R--A--BC--D--E--HEAD หรือในอุดมคติแล้วหลังจาก A มาถึง D โดยตรง D 'แสดงการเปลี่ยนแปลงจาก A ถึง B, B ถึง C และ C ถึง D R--A--D'--E--HEAD เป็นไปได้ไหม ถ้าใช่เป็นอย่างไร นี่เป็นโครงการใหม่ที่ค่อนข้างไม่มีสาขาในขณะนี้ดังนั้นจึงไม่มีการรวมกัน
241 git  commit 

6
วิธีคอมไพล์ยอมรับไฟล์ / ไดเรกทอรีเดียว
ลองคำสั่งต่อไปนี้: git commit path/to/my/file.ext -m 'my notes' รับข้อผิดพลาดใน git เวอร์ชั่น 1.5.2.1: error: pathspec '-m' did not match any file(s) known to git. error: pathspec 'MY MESSAGE' did not match any file(s) known to git. เป็นไวยากรณ์ที่ไม่ถูกต้องสำหรับไฟล์ singe หรือไดเรกทอรีที่กระทำ? คำตอบ:คาดว่าจะมีการ โต้แย้งตามลำดับนี้ ... git commit -m 'my notes' path/to/my/file.ext อัพเดท:มันไม่เข้มงวดอีกต่อไป :)
216 git  commit 

8
Mercurial: จะแก้ไขการกระทำครั้งสุดท้ายได้อย่างไร
ฉันกำลังมองหาส่วนต่อต้านgit commit --amendใน Mercurial นั่นคือวิธีแก้ไขความมุ่งมั่นที่สำเนาการทำงานของฉันเชื่อมโยงอยู่ ฉันสนใจเฉพาะการกระทำครั้งสุดท้ายไม่ใช่การกระทำก่อนหน้านี้โดยพลการ ข้อกำหนดสำหรับขั้นตอนการแก้ไขนี้คือ: หากเป็นไปได้ไม่ควรมีส่วนขยายใด ๆ ต้องไม่ต้องใช้ส่วนขยายที่ไม่ใช่ค่าเริ่มต้นเช่นส่วนขยายที่ไม่ได้มาพร้อมกับการติดตั้ง Mercurial อย่างเป็นทางการ หากมุ่งมั่นที่จะแก้ไขเป็นหนึ่งหัวของสาขาปัจจุบันของฉันไม่ควรสร้างหัวใหม่ หากความมุ่งมั่นไม่ใช่หัวหน้าอาจจะสร้างหัวใหม่ โพรซีเดอร์ควรปลอดภัยในวิธีที่หากการแก้ไขไม่สำเร็จด้วยเหตุผลใดก็ตามฉันต้องการให้สำเนาการทำงานและสถานะที่เก็บเดียวกันทำงานเหมือนคืนก่อนการแก้ไข ด้วยคำอื่น ๆ หากการแก้ไขตัวเองสามารถล้มเหลวควรมีขั้นตอนที่ไม่ปลอดภัยในการเรียกคืนสถานะการคัดลอกและการทำงานที่เก็บ ฉันหมายถึง "ความล้มเหลว" ซึ่งอยู่ในลักษณะของการแก้ไขขั้นตอน (เช่นความขัดแย้ง) ไม่ใช่ปัญหาเกี่ยวกับระบบไฟล์ (เช่นข้อ จำกัด การเข้าถึงไม่สามารถล็อคไฟล์เพื่อเขียน ... ) อัปเดต (1): ขั้นตอนจะต้องเป็นไปโดยอัตโนมัติดังนั้นจึงสามารถดำเนินการได้โดยไคลเอนต์ GUI โดยไม่ต้องมีการโต้ตอบกับผู้ใช้ อัปเดต (2): ไฟล์ในไดเร็กทอรีการทำงานต้องไม่ถูกแตะต้อง (อาจมีการล็อคระบบไฟล์ในไฟล์ที่แก้ไขบางไฟล์) โดยเฉพาะอย่างยิ่งหมายความว่าวิธีที่เป็นไปได้อาจไม่จำเป็นต้องมีไดเรกทอรีการทำงานที่สะอาด

5
Git commit in terminal เปิด VIM แต่ไม่สามารถกลับไปที่ terminal ได้
พยายามที่จะเรียนรู้ GitHub ในขณะนี้และทำสิ่งจำเป็นเกี่ยวกับGitนี้ไปที่ nettuts ฉันกำลังเรียนเกี่ยวกับการทำพันธะ ประเภทครูgit commitและจะเปิด VIM เป็นเครื่องมือแก้ไขของเขา (ฉันต้องการทราบวิธีทำให้เปิดในSublime Text 2 แทน) อย่างไรก็ตามมันจะเปิดใน VIM และฉันเพิ่มใน 1 บรรทัดโดยกล่าวว่านี่เป็นการกระทำครั้งแรกของฉันและกดบันทึก . ต่อจากนั้นแจ้งให้ฉันบันทึกผลลัพธ์ไปยังเดสก์ท็อปซึ่งเป็นสิ่งที่ฉันไม่เห็นใน screencast ของเขา ตอนนี้ฉันยังอยู่ใน VIM และไม่แน่ใจว่าจะกลับไปที่เทอร์มินัล 'ปกติ' ได้อย่างไร :( ฉันไม่สามารถคิดออกได้ดังนั้นฉันเพิ่งออกจากเทอร์มินัลและเปิดใหม่อีกครั้งคอมไพล์กระทำอีกครั้งและมีข้อความเตือนเกี่ยวกับรายการซ้ำ! ถ้าไม่แน่ใจว่าฉันต้องนะหรือ(E)edit(A)abort สถานะคอมไพล์ เป็นกลุ่ม ข้อความเมื่อฉันเปิดเทอร์มินัลอีกครั้งและคอมไพล์คอมมิทอีกครั้ง

3
git - ค้นหาการกระทำที่เพิ่มไฟล์
สมมติว่าฉันมีไฟล์foo.jsที่ถูกคอมมิทเมื่อไม่นานมานี้ ฉันต้องการค้นหาการกระทำที่ไฟล์นี้ถูกเพิ่มครั้งแรก หลังจากอ่านคำตอบและการซ่อมแซมของฉันแล้วมันก็ใช้ได้กับฉัน git log --follow --diff-filter=A --find-renames=40% foo.js


6
การแก้ไขข้อความคอมมิทยอมรับใน GitHub
มีวิธีแก้ไขข้อความคอมมิชชันทางออนไลน์GitHub.comหลังจากส่งหรือไม่? จากบรรทัดคำสั่งหนึ่งสามารถทำได้ git commit --amend -m "New commit message" ตามที่แนะนำอย่างถูกต้องในคำถามอื่น ลองgit pullแล้วgit pushได้ผล แต่สามารถทำได้ผ่านGitHubเว็บไซต์หรือไม่

4
ติดตั้งคอมไพล์คอมมิตเฉพาะด้วย pip
ฉันกำลังพัฒนาแอพ django และฉันใช้ pip เพื่อจัดการความต้องการของฉัน ฉันจะติดตั้งคอมมิทเฉพาะของคอมมิทได้อย่างไร? ในกรณีของฉันฉันต้องติดตั้งคอมมิทนี้: https://github.com/aladagemre/django-notification/commit/2927346f4c513a217ac8ad076e494dd1adbf70e1
172 git  install  commit  pip 

6
ดูวันที่กระทำ "จริง" ใน GitHub (ชั่วโมง / วัน)
มีวิธีดูวันกระทำใน github ด้วยความแม่นยำของวัน / ชั่วโมง การกระทำที่เก่ากว่านั้นจะปรากฏในรูปแบบ "ที่มนุษย์อ่านได้" เช่น "2 ปีก่อน" แทนที่จะแสดงวันที่ที่แท้จริง หากไม่สามารถดูวันที่ที่เป็นจริงใน GitHub ได้วิธีแก้ปัญหาง่ายกว่าgit cloneหรือไม่
161 git  date  github  commit 

5
จะไม่มีการเปลี่ยนแปลงและข้อความใหม่ได้อย่างไร?
ฉันจะสร้างข้อความใหม่commitและสร้างข้อความใหม่ได้อย่างไรหากไม่มีการเปลี่ยนแปลงไฟล์ เป็นไปไม่ได้เนื่องจากรหัสของการกระทำ (SHA?) จะเหมือนกันหรือไม่?
150 git  commit 

6
Git: วิธีการแก้ไข / reword ข้อความผสานกระทำของ?
ฉันจะแก้ไขหรือใส่ข้อความของจดหมายเวียนได้อย่างไร git commit --amendทำงานถ้าหากมันเป็นครั้งสุดท้ายที่ทำ ( HEAD) แต่สิ่งที่ถ้ามันมาก่อนHEAD? git rebase -i HEAD~5 ไม่แสดงรายการการรวมการกระทำ
148 git  commit  amend 

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