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

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


5
.gitignore ไม่รวมไฟล์ในไดเร็กทอรี แต่ไม่ใช่บางไดเร็กทอรี
application/cache/* application/cache/folder/* application/cache/folder/onemorefolder/* ดูเหมือนจะไม่ทำงาน เมื่อฉันโคลนโครงการไม่มี"application/cache"โฟลเดอร์หรือ"application/cache/folder"โฟลเดอร์ ฯลฯ ... ฉันต้องการถ้าไฟล์ในโฟลเดอร์แคชไม่ได้ถูกแคช แต่มีโฟลเดอร์เพื่อให้การโอนและการอนุญาตของโฟลเดอร์มีอยู่
98 git  gitignore 

1
Visual Studio 2013 git เฉพาะสาขาหลักที่แสดงรายการ
ฉันใช้การสนับสนุน Git ของ Visual Studio 2013 เพื่อทำงานกับที่เก็บ GitHub ส่วนตัว ฉันได้รับอนุญาตให้กระทำกับมัน ฉันต้องการเปลี่ยนสาขา แต่เมื่อฉันไปที่มุมมองสาขาสาขาเดียวในรายการใด ๆ (สาขาแบบเลื่อนลงสาขาที่เผยแพร่แล้วเครื่องมือผสาน) เป็นหลัก สาขาอื่น ๆ จะแสดงใน GitHub, GitHub สำหรับ Windows และ TortoiseGit ดังนั้นฉันรู้ว่าพวกเขาอยู่ที่นั่นและฉันสามารถเข้าถึงได้ มีไอเดียอะไรบ้างที่ฉันไม่เห็นสาขาอื่นใน Visual Studio ฉันใช้ Visual Studio 2013 Update 2

6
คุณจัดระเบียบที่เก็บ git หลาย ๆ ที่เก็บสำรองไว้ด้วยกันได้อย่างไร
ด้วย SVN ฉันมีที่เก็บข้อมูลขนาดใหญ่เพียงแห่งเดียวที่ฉันเก็บไว้บนเซิร์ฟเวอร์และเช็คเอาต์ในเครื่องสองสามเครื่อง นี่เป็นระบบสำรองข้อมูลที่ค่อนข้างดีและช่วยให้ฉันทำงานกับเครื่องใดก็ได้อย่างง่ายดาย ฉันสามารถชำระเงินโปรเจ็กต์ที่เฉพาะเจาะจงยอมรับและอัปเดตโปรเจ็กต์ 'ต้นแบบ' หรือฉันสามารถชำระเงินทั้งหมดได้ ตอนนี้ฉันมีที่เก็บ git มากมายสำหรับโปรเจ็กต์ต่างๆซึ่งหลายแห่งอยู่ใน github ฉันยังมีที่เก็บ SVN ที่ฉันพูดถึงนำเข้าผ่านคำสั่ง git-svn .. โดยพื้นฐานแล้วฉันชอบมีรหัสทั้งหมดของฉัน (ไม่ใช่แค่โปรเจ็กต์เท่านั้น แต่ตัวอย่างและสคริปต์แบบสุ่มบางอย่างเช่นประวัติย่อของฉันบทความที่ฉันเขียนเว็บไซต์ที่ฉันสร้างขึ้นและอื่น ๆ ) ในที่เก็บขนาดใหญ่ฉันสามารถโคลนลงในรีโมตได้อย่างง่ายดาย เครื่องหรือหน่วยความจำแท่ง / ฮาร์ดไดรฟ์เป็นข้อมูลสำรอง ปัญหาคือเนื่องจากเป็นที่เก็บส่วนตัวและ git ไม่อนุญาตให้ตรวจสอบจากโฟลเดอร์เฉพาะ (ซึ่งฉันสามารถส่งไปที่ github เป็นโปรเจ็กต์แยกต่างหาก แต่มีการเปลี่ยนแปลงปรากฏทั้งใน master-repo และ sub- repos) ฉันสามารถใช้ระบบโมดูลย่อย git แต่มันก็ไม่ได้ทำตามที่ฉันต้องการเช่นกัน (โมดูลย่อยเป็นตัวชี้ไปยังที่เก็บอื่น ๆ และไม่มีรหัสจริงดังนั้นจึงไม่มีประโยชน์สำหรับการสำรองข้อมูล) ขณะนี้ฉันมีโฟลเดอร์ของ git-repos (ตัวอย่างเช่น ~ / code_projects / proj1 …
98 git  backup 

5
ใช้ gitignore เพื่อละเว้น (แต่ไม่ลบ) ไฟล์
ฉันมีไดเร็กทอรี tmp ใน git repo ของฉันฉันต้องการยังคงมีอยู่ แต่ถูกเพิกเฉย ฉันเพิ่มมันเข้าไป.gitignoreแต่git statusยังคงบอกฉันเกี่ยวกับการเปลี่ยนแปลงไฟล์ในไดเร็กทอรีนั้น ฉันลองgit rm -r --cachedแล้ว แต่จะลบมันออกจาก repo ระยะไกล ฉันจะหยุดติดตามการเปลี่ยนแปลงในไดเรกทอรีนี้ได้อย่างไร แต่ยังคงอนุญาตให้มีอยู่ ฉันต้องทำสิ่งนี้สำหรับไฟล์ 1 ไฟล์ แต่การเปลี่ยนแปลงจะปรากฏขึ้นgit statusหลังจากเข้า.gitignoreมาแล้ว ฉันควรทำอย่างไรดี?

5
วิธีกำหนดค่า git repo ที่มีอยู่เพื่อแชร์โดยกลุ่ม UNIX
ฉันมี git repo ที่มีอยู่ (อันเปล่า) ซึ่งถึงจุดนี้เท่านั้นที่ฉันเขียนได้ ฉันต้องการเปิดให้กับกลุ่มผู้ใช้ UNIX บางกลุ่ม foo เพื่อให้สมาชิกทั้งหมดของ foo สามารถผลักดันไปได้ ฉันทราบดีว่าฉันสามารถตั้งค่าgit repo ใหม่ได้อย่างง่ายดายด้วย: git init --bare --shared=group repodir chgrp -R foo repodir แต่ฉันต้องการการดำเนินการที่เทียบเท่าสำหรับrepo dir ที่มีอยู่


4
จะเปลี่ยนการกระทำในอดีตเพื่อรวมไฟล์ที่ไม่ได้รับได้อย่างไร
ฉันได้ทำการเปลี่ยนแปลงและลืมเพิ่มไฟล์ลงในชุดการเปลี่ยนแปลง หลังจากการกระทำอื่น ๆ ฉันตระหนักว่าขณะนี้ไฟล์หายไปจากการคอมHEAD^4มิต ฉันจะเขียนคอมมิตก่อนหน้านี้ใหม่เพื่อรวมไฟล์ที่หายไปได้อย่างไร
98 git  git-commit 

6
git แตกต่างสองไฟล์บนสาขาเดียวกันคอมมิตเดียวกัน
ขออภัยหากมีคำถามนี้ฉันไม่พบคำถามที่น่าแปลกใจ: / ฉันจะดำเนินการgit diffระหว่างสองไฟล์ภายในสาขาเดียวกันและคอมมิตเดียวกันได้อย่างไร กล่าวคือ git diff fileA.php fileB.php (โดยเฉพาะอย่างยิ่งกับรหัสสีที่อ่านง่ายซึ่งgitมี .... หรือคล้ายกับที่โปรแกรม BeyondCompare ทำ!)
98 git 

8
Git format-patch เข้ากันได้กับ svn หรือไม่?
มีวิธีใดบ้างที่จะทำให้แพตช์ที่สร้างด้วย git format-patch เข้ากันได้กับ svn เพื่อให้ฉันสามารถส่งไปยัง svn repo ได้ ฉันกำลังแก้ไข svn repo บน github และต้องการส่งการเปลี่ยนแปลงของฉันกลับไปที่ repo หลัก ฉันต้องสร้างแพตช์เพื่อทำสิ่งนี้ แต่ไม่สามารถใช้แพตช์ได้เนื่องจากรูปแบบ git ที่แพตช์แตกต่างจาก svn มีความลับบางอย่างที่ฉันยังไม่ค้นพบหรือไม่? อัปเดต:แม้ว่าในปัจจุบันจะไม่มีสคริปต์หรือวิธี git ดั้งเดิมในการทำสิ่งนี้ แต่ฉันก็หาโพสต์จากต้นปีนี้เกี่ยวกับวิธีการทำสิ่งนี้ด้วยตนเอง ฉันทำตามคำแนะนำและประสบความสำเร็จในการรับแพตช์คอมไพล์เพื่อทำงานกับ svn หากมีใครสักคนสามารถเขียนสคริปต์เพื่อทำสิ่งนี้ให้สำเร็จและมีส่วนร่วมในโครงการ git ฉันทุกคนจะได้รับการชื่นชมมาก http://kerneltrap.org/mailarchive/git/2008/1/15/570308/thread#mid-570308
98 svn  git  format-patch 

14
ฉันสามารถลบสาขาในพื้นที่ทั้งหมดยกเว้นสาขาปัจจุบันได้หรือไม่
ฉันต้องการลบสาขาทั้งหมดที่แสดงในผลลัพธ์ของ ... $ git branch ... แต่รักษาสาขาปัจจุบันไว้ในขั้นตอนเดียว เป็นไปได้หรือไม่ ถ้าเป็นเช่นนั้นอย่างไร?
98 git  git-branch 

2
Git ดึงจากที่เก็บอื่น
ฉันมีที่เก็บที่เรียกว่าGenericซึ่งเป็นแอปพลิเคชันทั่วไป ฉันได้แยกมันลงในที่เก็บที่เรียกว่าAcmeซึ่งสร้างขึ้นจากที่เก็บแอปพลิเคชันที่เก็บไว้Genericและเพิ่มการสร้างแบรนด์ Acme Co เข้าไป ถ้าผมทำการเปลี่ยนแปลงการทำงานหลักในGenericผมต้องการที่จะปรับปรุงพื้นที่เก็บข้อมูลมีการเปลี่ยนแปลงล่าสุดผมได้ทำเพื่อการทำงานหลักในAcme Genericฉันจะทำอย่างไร เท่าที่ฉันสามารถบอกได้ฉันพยายามรวมการเปลี่ยนแปลงที่เกิดขึ้นในที่เก็บอัพสตรีมลงในส้อมปัจจุบันเป็นหลัก หากมีความหมายอะไรฉันกำลังพยายามทำสิ่งนี้เพราะฉันมีแอปพลิเคชันทั่วไปที่ฉันสร้างขึ้นและสร้างแบรนด์ให้กับลูกค้าแต่ละราย (เช่นAcmeในตัวอย่างนี้) หากมีวิธีที่สะอาดกว่านี้โปรดแจ้งให้เราทราบ

2
การมีส่วนร่วมในโครงการบน github วิธี "สร้างคำขอดึงข้อมูลใหม่บนต้นแบบ"
โอเคฉันมีส่วนร่วมในโปรเจ็กต์บน github โครงการบน github คือupstreamrepo ที่แยกของฉันบน github คือoriginและlocalrepo ของฉันบนคอมพิวเตอร์ของฉัน git checkout -b feature # Working on feature git commit -a -m 'only commit on feature' จากนั้นฉันก็ส่งคำขอดึง git push origin master คำขอดึงจะได้รับการตรวจสอบและจำเป็นต้องทำการเปลี่ยนแปลงที่ไม่เกี่ยวข้อง บุคคลอื่นทำการกระทำและรวมเข้าด้วยกันupstream/master ตอนนี้ฉันถูกขอโดยผู้upstreamดูแลให้"rebase my pull request on top of master" นี่คือเรื่องราวของฉัน (ใส่เอฟเฟกต์เสียง Law and Order) ..... ฉันไม่ได้ทำการเปลี่ยนแปลงใด ๆ กับคำขอดึงข้อมูลและยังคงยืนยันเหมือนเดิมในคุณสมบัติสาขา git …
98 git  github 

5
ฉันจะทำการ "git pull" โดยไม่ต้องป้อนรหัสผ่าน SSH ซ้ำได้อย่างไร
มันเป็นไปได้ในการกำหนดค่าgit/sshดังนั้นผมจึงไม่ต้องป้อนข้อความรหัสผ่านของฉันเวลาที่ฉันต้องการที่จะดำเนินการทุกgit pull? โปรดทราบว่า repo เป็นแบบส่วนตัวบน github หรืออีกวิธีหนึ่งคือแนวทางปฏิบัติที่ดีที่สุดในการปรับใช้โค้ดโดยอัตโนมัติจากที่เก็บ Github ส่วนตัวคืออะไร รายละเอียดเพิ่มเติม:อินสแตนซ์ EC2 ที่เรียกใช้ AMI สาธารณะที่ใช้ Fedora
98 linux  git  ssh  github 

6
git ไม่คำนึงถึงขนาดตัวพิมพ์หรือไม่?
ในความมุ่งมั่นแรกของบางส่วนของฉันเรียกว่ามันถูกเขียนขึ้นต้นด้วยตัวอักษรทุนแล้วฉันเปลี่ยนไป_Electronics_electronics Git ภายใต้ cygwin เพิกเฉยต่อกรณีหลังจากที่ยอมรับชื่อใหม่ดังนั้นฉันจึงเปลี่ยนชื่อด้วยมือใน repo เป้าหมาย ตอนนี้บางครั้งมันก็เปลี่ยน_electronicsบางส่วนที่_Electronicsยืนยัน ฉันทำอะไรผิด?

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