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

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

6
ความแตกต่างระหว่างการอ้างอิง git และการบันทึกคืออะไร?
หน้าคนบอกว่าบันทึกนั้นแสดงบันทึกการกระทำและ reflog จัดการข้อมูล reflog ข้อมูล reflog คืออะไรและมีบันทึกอะไรบ้าง บันทึกดูเหมือนว่าจะมีรายละเอียดมากกว่านี้
158 git  git-log  git-reflog 

5
ฉันสามารถจัดเรียงที่เก็บลงในโฟลเดอร์บน Github ได้หรือไม่?
ฉันยังใหม่กับคอมไพล์และสิ่งที่ฉันทำตอนนี้คือการอัปโหลดโครงการล่าสุดทั้งหมดของฉันเป็นที่เก็บไปยัง GitHub มีโครงการต่าง ๆ มากมายเช่นการออกแบบเว็บธีมเวิร์ดเพรสและแอปพลิเคชั่นประเภทต่างๆ และสิ่งเหล่านี้บางส่วนก็เป็นของโครงการที่ใหญ่กว่าเพราะพวกเขากำลังทดสอบบางสิ่งเป็นแอพพลิเคชั่นอื่น ปัญหาคือตอนนี้ฉันมีที่เก็บข้อมูลสับสนอยู่ในขณะนี้ ฉันจะจัดกลุ่มที่เก็บ github ที่เกี่ยวข้องในโครงสร้างโฟลเดอร์ได้อย่างไร มีคุณสมบัติที่ให้ความสามารถในการสั่งซื้อและโครงสร้างหรือแม้แต่ติดแท็กที่เก็บบน Github หรือไม่?
158 git  github  repository 

3
อะไรคือความแตกต่างระหว่างสาขาในพื้นที่สาขาติดตามท้องถิ่นสาขาระยะไกลและสาขาติดตามระยะไกล
ฉันเพิ่งเริ่มใช้ Git และฉันสับสนระหว่างสาขาที่แตกต่างกัน ใครสามารถช่วยฉันคิดออกว่าสาขาประเภทต่อไปนี้คืออะไร? สาขาท้องถิ่น สาขาติดตามท้องถิ่น สาขาระยะไกล สาขาติดตามระยะไกล ความแตกต่างระหว่างพวกเขาคืออะไร? และพวกเขาทำงานร่วมกันได้อย่างไร รหัสสาธิตอย่างรวดเร็วจะเป็นประโยชน์จริง ๆ ฉันเดา

7
เลิกทำส่วนหนึ่งของการเปลี่ยนแปลงที่ไม่คงที่ในคอมไพล์
ฉันจะยกเลิกบางส่วนของการเปลี่ยนแปลงที่ไม่เป็นระบบในคอมไพล์ของฉัน แต่ให้ส่วนที่เหลือเป็นสเตจได้อย่างไร วิธีที่ฉันคิดออกคือ: git commit --interactive # Choose the parts I want to delete # Commit the changes git stash git rebase -i master # (I am an ancestor of master) # Delete the line of the most recent commit git stash apply ใช้งานได้ แต่จะดีถ้ามีบางอย่างที่เหมือนกับgit commit --interactiveการคืนค่าการเปลี่ยนแปลงเท่านั้น มีวิธีไหนที่ดีกว่านี้?
158 git 

6
diff สำเนาการทำงานปัจจุบันของไฟล์ด้วยสำเนาที่กำหนดของสาขาอื่น
ฉันมี repo พร้อมไฟล์fooในสาขาหลัก fooผมเปลี่ยนบาร์สาขาและทำให้การเปลี่ยนแปลงบางอย่าง ตอนนี้ฉันจะเรียกใช้git diffระหว่างสำเนานี้ (ซึ่งยังไม่ได้ทำ) และสำเนาของสาขาหลักได้อย่างไร
158 git 

10
การอัปเดตถูกปฏิเสธเนื่องจากส่วนปลายของสาขาปัจจุบันของคุณอยู่เบื้องหลัง
ฉันเพิ่งเริ่มใช้ Git ดังนั้นอย่าลังเลที่จะปฏิบัติต่อฉันเหมือนมือใหม่ ขั้นตอนการทำงานของเราเป็นเช่นนั้น เรามีสาขาที่เรียกว่าที่ฉันสามารถเข้าถึงที่dev origin/devเมื่อเราทำการเปลี่ยนแปลงเราจะสร้าง branch จาก dev: git checkout -b FixForBug origin / dev ตอนนี้ผมได้เรียกว่าเป็นสาขาFixForBugที่ติดตามไป origin/dev(ผมคิดว่าเป็นคำที่เหมาะสม) ดังนั้นถ้าฉันทำgit pullมันจะทำให้เกิดการเปลี่ยนแปลงใหม่origin/devซึ่งดีมาก ตอนนี้เมื่อฉันแก้ไขเสร็จแล้วฉันก็กดไปที่สาขาระยะไกลที่เรียกว่าสิ่งเดียวกัน ก่อนอื่นฉันดึงการเปลี่ยนแปลงใด ๆ จากorigin/devและทำการ rebase: git ดึง --rebase จากนั้นฉันจะผลักดันการเปลี่ยนแปลงไปยังสาขาระยะไกลที่มีชื่อเดียวกัน: git push origin FixForBug ตอนนี้มีสาขาบนเซิร์ฟเวอร์ระยะไกลและฉันสามารถสร้างคำขอดึงเพื่อให้การเปลี่ยนแปลงนั้นได้รับการอนุมัติและรวมกลับไปที่สาขา dev ฉันไม่เคยผลักดันอะไรให้กับorigin/devตัวเอง ฉันเดาว่านี่เป็นขั้นตอนการทำงานทั่วไป ครั้งแรกที่ฉันทำgit pushมันใช้งานได้ดีและสร้างสาขาระยะไกล อย่างไรก็ตามหากฉันกดครั้งที่สอง (สมมติว่าในระหว่างการตรวจสอบโค้ดมีคนชี้ให้เห็นปัญหา) ฉันได้รับข้อผิดพลาดต่อไปนี้: ข้อผิดพลาด: ล้มเหลวในการส่งการอ้างอิงบางส่วนไปที่คำใบ้ ' https://github.limeade.info/Limeade/product.git ': การอัปเดตถูกปฏิเสธเนื่องจากส่วนปลายของสาขาปัจจุบันของคุณอยู่หลังคำใบ้: คู่ระยะไกล รวมการเปลี่ยนแปลงระยะไกล …
158 git 

2
ทำไม“ git difftool” ไม่เปิดเครื่องมือโดยตรง
ฉันกำหนดค่าgitเช่นนี้: git config --global diff.tool meld เมื่อฉันวิ่ง: git difftool ฉันได้รับข้อความต่อไปนี้: Viewing: 'hello.txt' Hit return to launch 'meld': แล้วถ้าผมกดEnter, meldจะเปิดตัว ฉันจะปิดการใช้งานข้อความนี้เพื่อที่meldจะเปิดตัวทันทีหลังจากพิมพ์git difftool?
157 git  diff  difftool 

14
^ M เหล่านี้คืออะไรที่ปรากฏขึ้นในไฟล์ของฉันเป็น emacs?
ดังนั้นฉันคิดว่ามันอาจจะเกี่ยวกับ textmate แต่เราทำงานกันเป็นทีมเล็ก ๆ และมีปัญหาบางอย่างเกี่ยวกับความขัดแย้งไฟล์เต็มรูปแบบของไฟล์ที่เกือบเหมือนกันในคอมไพล์เพราะแต่ละบรรทัดของสาขาหนึ่งมี ^ M ต่อท้าย ^Mตัวละครลึกลับนี้ควรทำอะไรและมันมาจากไหน? นักพัฒนาของเราใช้ emacs ใน Windows / Mac, TextMate บน Mac, coda บน Mac และบางครั้งก็เป็นโปรแกรมแก้ไขข้อความ wp-admin มีใครเคยมีปัญหานี้เกิดขึ้นจากหนึ่งในนั้นหรือไม่
157 git  emacs  newline 

6
ควร bower_components gitignored?
มันจะเป็นการดีหรือไม่ที่จะเก็บเฉพาะbower.jsonไฟล์และ gitignore ในไดเร็กตอรี่ทั้งหมดbower_components?
157 git  gitignore  bower 

5
ควรละเว้นไฟล์ * .xccheckout ใน Xcode5 ภายใต้ VCS หรือไม่
Apple ได้เปิดตัวไฟล์ประเภทที่เกี่ยวข้องกับโครงการใหม่ใน Xcode 5: "xccheckout" ไฟล์นี้อยู่ในไดเรกทอรี ".xcodeproj / project.xcworkspace / xcshareddata /" และดูเหมือนว่าเกี่ยวข้องกับระบบควบคุมเวอร์ชันของโครงการ ไฟล์ตัวอย่างอยู่ที่นี่: http://pastebin.com/5EP63iRa ฉันคิดว่าไฟล์ประเภทนี้ควรถูกละเว้นใน VCS แต่ฉันไม่แน่ใจ ดังนั้นนี่คือคำถาม: ควรละเว้น "xccheckout" หรือไม่ วัตถุประสงค์ของมันคืออะไร?

2
มีตะขอคอมไพล์สำหรับดึงหรือไม่
ฉันจำเป็นต้องดำเนินการกระทำบางอย่าง (* เตรียม gettext .mo ไฟล์ข้อความ) git pullในโครงการของฉันทุกครั้งที่ผมทำงาน มีตะขอคอมไพล์ที่เหมาะสมซึ่งฉันสามารถใช้เพื่อจุดประสงค์นี้ได้ไหม?
157 git  hook  gettext 

1
ใครคือ“ เรา” และใครคือ“ พวกเขา” ตาม Git?
หลังจากรีบูต Git และในสถานการณ์อื่นคุณสามารถค้นหาไฟล์บางไฟล์ที่ถูกทำเครื่องหมายว่าถูกลบโดยเราในgit statusรายงาน เราคือใครตาม Git และทำไม มันหมายถึงฉันนั่งอยู่ที่สาขานี้และมันทำงานให้ฉันได้ไหม หรือมันหมายถึงตัวเองและคนที่ทำงานในสาขาที่ฉันกำลังต่อต้าน?
157 git 

8
การใช้ git ฉันจะเพิกเฉยต่อไฟล์ในสาขาใดสาขาหนึ่ง แต่มีการคอมมิทในสาขาอื่นได้อย่างไร?
ฉันมีโครงการที่ผมนำไปใช้กับHeroku ทรีซอร์สโค้ดประกอบด้วยไฟล์ mp3 จำนวนมาก (เว็บไซต์จะใช้สำหรับโครงการบันทึกที่ฉันเกี่ยวข้องอย่างมาก) ฉันต้องการวางซอร์สโค้ดสำหรับGitHubแต่ GitHub มีขีด จำกัด 300 MB สำหรับบัญชีฟรี ฉันไม่ต้องการใช้ขีด จำกัด 50 MB กับไฟล์ mp3 จำนวนมาก เห็นได้ชัดว่าฉันสามารถเพิ่มพวกเขาลงใน.gitignoreไฟล์เพื่อป้องกันพวกเขาออกจาก repo ของฉัน แต่ผมใช้กับ Heroku git push herokuใช้ ไฟล์ mp3 จะต้องมีอยู่ในสาขาที่ฉันกดเพื่อ Heroku เพื่อให้พวกเขาได้รับการใช้งาน เป็นการดีที่ฉันต้องการ.gitignoreไฟล์ MP3 ในสาขาท้องถิ่นของฉันเพื่อที่เมื่อฉันผลักไฟล์นั้นไปที่ GitHub ไฟล์ MP3 จะไม่รวมอยู่ด้วย จากนั้นฉันก็จะรักษาสาขาการผลิตในท้องถิ่นที่มี mp3 ที่มุ่งมั่นแทนที่จะเพิกเฉย ในการปรับใช้ฉันจะผสานต้นแบบเข้ากับการผลิตแล้วผลักสาขาการผลิตไปที่ Heroku ฉันไม่สามารถทำงานให้ถูกต้องได้ นี่คือตัวอย่างของสิ่งที่ฉันพยายามทำ ... $ git init …
157 git  gitignore 

17
ลบการแมป git ใน Visual Studio 2015
คำถามนี้มีอะไรจะทำอย่างไรกับตัวเองคอมไพล์; ค่อนข้างเกี่ยวข้องกับการลบการเชื่อมโยง / การแมปไปยังที่เก็บ git ที่ Visual Studio 2015 (VS2015) เคยเห็นมาก่อน นี่คือภาพหน้าจอของปัญหา: โปรดสังเกตว่าปุ่มลบจะเป็นสีเทา (ปิดการใช้งาน) ฉันจะลบรายการนี้ออกจากรายการ "Local Git Repositories" ได้อย่างไร

4
git rebase โดยไม่เปลี่ยนการกระทำที่ประทับเวลา
มันจะทำให้รู้สึกถึงการปฏิบัติgit rebaseในขณะที่รักษา timestamps กระทำ? ฉันเชื่อว่าผลที่ตามมาก็คือสาขาใหม่จะไม่จำเป็นต้องมีวันที่ตามลำดับเวลา เป็นไปได้ในทางทฤษฎีหรือไม่? (เช่นใช้คำสั่งการวางท่อเพียงแค่อยากรู้อยากเห็นที่นี่) หากเป็นไปได้ในทางทฤษฎีแล้วมันเป็นไปได้ในทางปฏิบัติกับ rebase ไม่เปลี่ยน timestamps? ตัวอย่างเช่นสมมติว่าฉันมีต้นไม้ต่อไปนี้: master <jun 2010> | : : : oldbranch <feb 1984> : / oldcommit <jan 1984> ตอนนี้ถ้าฉัน rebase oldbranchบนmasterวันที่ของการกระทำการเปลี่ยนแปลงจาก feb 1984 ถึงมิถุนายน 2010 มันเป็นไปได้ที่จะเปลี่ยนพฤติกรรมนั้นเพื่อให้การประทับเวลากระทำจะไม่เปลี่ยนแปลง? ในที่สุดฉันก็จะได้รับ: oldbranch <feb 1984> / master <jun 2010> | : มันจะสมเหตุสมผลไหม? มันอนุญาตให้ในคอมไพล์มีประวัติซึ่งการคอมมิชชันเก่ามีการคอมมิทล่าสุดหรือไม่?

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