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

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


19
ปรับใช้โครงการโดยใช้ Git push
เป็นไปได้git pushหรือไม่ที่จะปรับใช้เว็บไซต์โดยใช้? ฉันมีเรื่องลางสังหรณ์เกี่ยวกับการใช้git hooksเพื่อทำgit reset --hardบนฝั่งเซิร์ฟเวอร์ แต่ฉันจะทำอย่างไรให้สำเร็จ

19
เซิร์ฟเวอร์ Git เช่น GitHub? [ปิด]
ปิด. คำถามนี้ไม่เป็นไปตามหลักเกณฑ์กองมากเกิน ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นไปตามหัวข้อสำหรับ Stack Overflow ปิดให้บริการใน6 ปีที่ผ่านมา ฉันเป็นผู้ใช้โค่นล้มมานานแล้วที่จะลองใช้ Git ฉันได้อ่านเกี่ยวกับเรื่องนี้และทำความเข้าใจกับธรรมชาติที่กระจายตัว - ฉันเห็นประโยชน์มากมาย อย่างไรก็ตามฉันชอบแนวคิดของเซิร์ฟเวอร์กลางที่สามารถทำหน้าที่สำรองข้อมูลระบบบันทึก ฯลฯ ในขณะที่ยังใช้ Git สำหรับการแบ่งสาขาและการแบ่งปันในท้องถิ่นของฉัน ฉันไม่ได้ทำโครงการโอเพนซอร์สดังนั้นฉันจึงไม่สามารถใช้ Github (โดยไม่ต้องจ่ายเงิน) ดังนั้นคำถามของฉันคือ: วิธีปฏิบัติที่ดีที่สุดในการใช้เซิร์ฟเวอร์ git ในพื้นที่คืออะไร? ฉันรู้ว่าสิ่งนี้อาจขัดกับรูปแบบการใช้ Git มาตรฐาน แต่มันจะมีประโยชน์สำหรับโครงการของฉัน อย่างไรก็ตามความกังวลใด ๆ ที่ฉันอาจมองข้ามนั้นยินดีต้อนรับเสมอ ขอบคุณ!
412 git 

2
อะไรคือความแตกต่างระหว่าง double-dot“ .. ” และ triple-dot“ …” ใน Git ที่มีช่วง?
บางคำสั่ง Git ใช้กระทำช่วงหนึ่งและไวยากรณ์ที่ถูกต้องคือการแยกสองกระทำชื่อที่มีจุดสองจุดและไวยากรณ์อื่นใช้จุดสามจุด..... ความแตกต่างระหว่างสองคืออะไร
412 git  git-diff  git-log 

9
git - แหล่งกำเนิดเพิ่มระยะไกลกับแหล่งกำเนิดชุด URL ระยะไกล
ฉันสร้างที่เก็บใหม่: git init echo "# MESSAGE" >> README.md git add README.md git commit -m "first commit" จากนั้นฉันต้องการที่จะผลักดันการกระทำของฉันไปยังพื้นที่เก็บข้อมูลระยะไกลที่ว่างเปล่าที่สร้างขึ้นบน Github ดังนั้นฉันต้องตั้งค่าระยะไกล ความแตกต่างระหว่างการใช้คำสั่งต่อไปนี้คืออะไร? : git remote add origin git@github.com:User/UserRepo.git git remote set-url origin git@github.com:User/UserRepo.git ในตอนท้ายฉันก็ดัน: git push -u origin master Edit1: จะเกิดอะไรขึ้นเมื่อฉันเรียกใช้ชุดเริ่มต้นระยะไกลหลังจาก git init ต้นกำเนิดชุด URL ระยะไกลสร้างจุดเริ่มต้นหรือไม่ หากต้นกำเนิดมีอยู่แล้วหลังจาก git init ไม่มีความแตกต่างระหว่างการใช้คำสั่งเหล่านั้นในสถานการณ์ของฉันใช่ไหม?
412 git  github 

19
จะบอกได้อย่างไรว่าจะให้แท็กใดชี้ไปที่ Git
ฉันมีแท็กที่ไม่ได้จดทะเบียนจำนวนมากในพื้นที่เก็บข้อมูลและฉันต้องการที่จะกำหนดว่าพวกเขาชี้ไปที่ใด มีคำสั่งที่จะแสดงรายการแท็กและการกระทำของพวกเขา SHA หรือไม่? การตรวจสอบแท็กและดูที่ HEAD นั้นดูลำบากสำหรับฉัน ปรับปรุง ฉันรู้หลังจากที่ฉันได้รับคำตอบว่าสิ่งที่ฉันต้องการคือการดูประวัติที่นำไปสู่แท็กซึ่งgit log <tagname>เพียงพอแล้ว คำตอบที่ถูกทำเครื่องหมายว่าเป็นคำตอบนั้นมีประโยชน์สำหรับการรับรายการแท็กและความมุ่งมั่นของพวกเขาซึ่งเป็นสิ่งที่ฉันถาม ด้วยการเจาะเชลล์สักหน่อยฉันแน่ใจว่ามันเป็นไปได้ที่จะแปลงมันให้เป็นข้อความ SHA + Commit
410 git  git-tag 

5
ในกรณีใดบ้าง 'git pull` อาจเป็นอันตรายได้?
ฉันมีเพื่อนร่วมงานที่อ้างว่าgit pullเป็นอันตรายและรู้สึกเสียใจเมื่อมีคนใช้ git pullคำสั่งน่าจะเป็นวิธีที่เป็นที่ยอมรับในการปรับปรุงพื้นที่เก็บข้อมูลในพื้นที่ของคุณ ใช้การgit pullสร้างปัญหาหรือไม่ มันสร้างปัญหาอะไรขึ้น? มีวิธีที่ดีกว่าในการอัพเดทที่เก็บ git หรือไม่?
409 git  git-pull 

10
คุณจะแนบคำขอดึงใหม่กับปัญหาที่มีอยู่ใน GitHub ได้อย่างไร
ฉันไม่แน่ใจ แต่ฉันมีความจำที่คลุมเครือในการสร้างคำขอดึง github กับ "Issue 4" หรือบางอย่างในชื่อและมันจะแนบตัวเองกับ Issue 4 ในโครงการที่ฉันส่งไปโดยอัตโนมัติ ฉันลองอีกครั้งเมื่อเร็ว ๆ นี้และใช้งานไม่ได้ - เพิ่งสร้างปัญหาใหม่เอี่ยมแทน ฉันไม่เห็นตัวเลือกใด ๆ เช่น "แนบกับปัญหา" ในหน้าคำขอดึงใหม่หรือ "เปิดคำขอดึงใหม่สำหรับปัญหานี้" ในหน้าปัญหา มีวิธีการทำเช่นนี้หรือไม่เพื่อช่วยให้เจ้าของโครงการรักษาหน้าปัญหาของตนให้สะอาดและหลีกเลี่ยงการทำซ้ำ แก้ไข : เพื่อชี้แจงฉันรู้ว่าการสร้างคำขอดึงสร้างปัญหาใหม่เสมอ ฉันต้องการแนบคำขอดึงกับปัญหาที่มีอยู่แทน

1
ความแตกต่างระหว่างต้นกำเนิดและต้นน้ำบน GitHub คืออะไร?
ความแตกต่างระหว่างoriginและupstreamบนGitHubคืออะไร? เมื่อgit branch -aคำสั่งเสร็จสิ้นบางสาขาจะมีคำนำหน้าเป็นorigin( remotes/origin/..) ในขณะที่บางคำสั่งมีคำนำหน้าเป็นupstream( remotes/upstream/..)
409 git  github  git-branch 

9
การเปลี่ยนชื่อสาขาจากระยะไกลใน Git
Наэтотвопросестьответына กองมากเกินнарусском : Можнолипереименоватьзапушеннуюветкувคอมไพล์? หากมีพื้นที่เก็บข้อมูลที่ฉันgit://สามารถเข้าถึง (และมักจะเพียงแค่กด + pull) มีวิธีเปลี่ยนชื่อสาขาในพื้นที่เก็บข้อมูลนั้นในลักษณะเดียวกับที่ฉันจะทำในพื้นที่ด้วยgit branch -m?
407 git  branch  rename 

12
คุณจะแก้ไขการผสานที่ไม่ดีได้อย่างไรและเล่นซ้ำสิ่งที่ดีของคุณในการรวมถาวร?
ฉันตั้งใจส่งไฟล์ที่ไม่ต้องการ ( filename.origขณะแก้ไขการผสาน) ไปยังที่เก็บข้อมูลของฉันหลายครั้งก่อนหน้านี้โดยที่ฉันไม่ได้สังเกตจนกระทั่งตอนนี้ ฉันต้องการลบไฟล์ออกจากประวัติของที่เก็บอย่างสมบูรณ์ เป็นไปได้ไหมที่จะเขียนประวัติการเปลี่ยนแปลงใหม่ที่filename.origไม่เคยถูกเพิ่มไปยังที่เก็บในตอนแรก?

5
ลบโฟลเดอร์ออกจากการติดตามคอมไพล์
ฉันต้องแยกโฟลเดอร์ (อัปโหลดชื่อ) ออกจากการติดตาม ฉันพยายามวิ่ง git rm -r --cached wordpress/wp-content/uploads และหลังจากนั้นฉันเพิ่มเส้นทางไปยัง. gitignore /wordpress/wp-content/uploads แต่เมื่อฉันวิ่งgit statusพวกเขาปรากฏขึ้นเป็นลบ หากฉันพยายามส่งการเปลี่ยนแปลงไฟล์จะถูกลบไม่เพียง แต่ถูกลบออกจากการติดตาม ผมทำอะไรผิดหรือเปล่า? ฉันได้ลองแล้ว git update-index --assume-unchanged <file> แต่ดูเหมือนว่าจะยกเลิกการติดตามไฟล์เท่านั้น แต่ฉันต้องลบทั้งโฟลเดอร์ (รวมถึงโฟลเดอร์ย่อย) ออกจากการติดตาม
404 git  git-rm 

7
เปลี่ยนชื่อโฟลเดอร์เมื่อทำการโคลนจาก github หรือไม่
เมื่อฉันโคลนบางอย่างจาก Github มันจะสร้างโฟลเดอร์ที่มีชื่อเดียวกับแอพในคอมพิวเตอร์ของฉัน มีวิธีเปลี่ยนชื่อไหม ตัวอย่างเช่นการทำโคลนนี้จะสร้างโฟลเดอร์ "ลงชื่อเข้าใช้ด้วยทวิตเตอร์" ที่ยาว git clone https://github.com/sferik/sign-in-with-twitter.git ฉันรู้ว่าฉันสามารถเปลี่ยนชื่อโฟลเดอร์ได้ แต่ฉันสงสัยว่าจะมีวิธีการเปลี่ยนชื่อโฟลเดอร์ดังกล่าวหรือไม่โดยการเพิ่มตัวเลือกที่ส่วนท้ายของคำสั่ง ตัวอย่างเช่น git clone https://github.com/sferik/sign-in-with-twitter.git as 'signin' ปัญหาคือฉันโคลนแอพหลาย ๆ ครั้งเพื่อปรับการตั้งค่าบางอย่างเพื่อให้มันทำงานและถ้ามีปัญหาฉันจะลบโฟลเดอร์ แต่ฉันกังวลว่าอัญมณีบางตัวยังคงติดตั้งอยู่ ฉันลบโฟลเดอร์แล้ว
403 git  github 

5
คอมไพล์ผสานโดยไม่ต้องกระทำอัตโนมัติ
เป็นไปได้ที่จะทำgit mergeแต่ไม่มีความมุ่งมั่น? "man git merge" พูดว่า: With --no-commit perform the merge but pretend the merge failed and do not autocommit, to give the user a chance to inspect and further tweak the merge result before committing. แต่เมื่อฉันพยายามที่จะใช้git mergeกับ--no-commitมันก็ยังคงกระทำโดยอัตโนมัติ นี่คือสิ่งที่ฉันทำ: $> ~/git/testrepo$ git checkout master Switched to branch 'master' $> ~/git/testrepo$ …
402 git 

10
วิธีการผลักสาขา Git ในท้องถิ่นต่าง ๆ ไปยัง Heroku / master
Heroku มีนโยบายที่จะเพิกเฉยต่อสาขาทั้งหมดยกเว้น 'ต้นแบบ' ในขณะที่ฉันแน่ใจว่านักออกแบบของ Heroku มีเหตุผลที่ยอดเยี่ยมสำหรับนโยบายนี้ (ฉันคาดเดาว่าสำหรับการจัดเก็บและการเพิ่มประสิทธิภาพ) ผลที่ตามมาสำหรับฉันในฐานะนักพัฒนาก็คือสิ่งใดก็ตามที่สาขาหัวข้อท้องถิ่นที่ฉันอาจจะทำงาน เพื่อเปลี่ยนเจ้านายของ Heroku เป็นสาขาหัวข้อท้องถิ่นนั้นและทำ "git push heroku -f" เป็น over-write master บน Heroku สิ่งที่ฉันได้จากการอ่านหัวข้อ "การผลักผู้อ้างอิง" ของhttp://progit.org/book/ch9-5.htmlคือ git push -f heroku local-topic-branch: refs / heads / master สิ่งที่ฉันชอบคือวิธีการตั้งค่านี้ในไฟล์กำหนดค่าเพื่อให้ "git push heroku" ทำสิ่งดังกล่าวข้างต้นเสมอโดยแทนที่ชื่อท้องถิ่นสาขาด้วยชื่อสิ่งที่สาขาปัจจุบันของฉันเกิดขึ้น หากใครรู้วิธีที่จะทำให้สำเร็จโปรดแจ้งให้เราทราบ! แน่นอนว่าสำหรับสิ่งนี้แน่นอนว่ามันเป็นเรื่องที่สมเหตุสมผลถ้าฉันเป็นคนเดียวที่สามารถผลักดันแอพ / พื้นที่เก็บข้อมูลของ Heroku ทีมทดสอบหรือ QA อาจจัดการที่เก็บดังกล่าวเพื่อลองสาขาที่แตกต่างกัน แต่พวกเขาจะต้องประสานงานเพื่อให้พวกเขาเห็นด้วยกับสาขาที่พวกเขากำลังผลักดันมันในวันใดวันหนึ่ง จำเป็นต้องพูดมันเป็นความคิดที่ดีมากที่จะมีที่เก็บข้อมูลระยะไกลแยกต่างหาก (เช่น GitHub) …
402 git  github  heroku  push  git-push 

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