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

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

5
Hg: วิธีทำ rebase เช่น rebase ของคอมไพล์
ใน Git ฉันสามารถทำสิ่งนี้: 1. เริ่มทำงานกับคุณสมบัติใหม่: $ git co -b newfeature-123 # (สาขาการพัฒนาคุณลักษณะท้องถิ่น) ทำไม่กี่กระทำ (M, N, O) ปรมาจารย์ A --- B --- C \ newfeature-123 M --- N --- O 2. ดึงการเปลี่ยนแปลงใหม่จากต้นแบบต้นน้ำ: $ git pull (อัปเดตข้อมูลหลักด้วย ff-commits) ปรมาจารย์ A --- B --- C --- D --- E --- F \ newfeature-123 …
207 git  mercurial  dvcs  rebase 

13
การรวมหลายที่เก็บคอมไพล์
สมมติว่าฉันมีการตั้งค่าที่ดูเหมือน phd/code/ phd/figures/ phd/thesis/ ด้วยเหตุผลทางประวัติศาสตร์สิ่งเหล่านี้ล้วนมีที่เก็บคอมไพล์ของตัวเอง แต่ฉันต้องการรวมพวกเขาเข้าด้วยกันเป็นหนึ่งเดียวเพื่อทำให้สิ่งเล็ก ๆ น้อย ๆ ง่ายขึ้น ตัวอย่างเช่นตอนนี้ฉันอาจทำการเปลี่ยนแปลงสองชุดและต้องทำสิ่งที่ต้องการ cd phd/code git commit cd ../figures git commit มันเป็นการดีที่จะแสดง cd phd git commit ดูเหมือนว่ามีสองวิธีในการทำเช่นนี้โดยใช้ submodules หรือดึงจากที่เก็บย่อยของฉัน แต่มันซับซ้อนกว่าเล็กน้อยที่ฉันกำลังมองหา อย่างน้อยที่สุดฉันก็มีความสุข cd phd git init git add [[everything that's already in my other repositories]] แต่นั่นดูเหมือนจะไม่เป็นหนึ่งซับ มีสิ่งใดบ้างgitที่สามารถช่วยฉันได้
207 git 

3
เลือกกลยุทธ์การรวม Git สำหรับไฟล์เฉพาะ (“ ของเรา”,“ ของฉัน”,“ ของพวกเขา”)
ผมอยู่ในช่วงกลางของ rebasing git pull --rebaseหลังจากที่ ฉันมีไฟล์ไม่กี่ไฟล์ที่มีข้อขัดแย้งผสาน ฉันจะยอมรับการเปลี่ยนแปลง "ของพวกเขา" หรือ "การเปลี่ยนแปลง" ของฉันสำหรับไฟล์เฉพาะได้อย่างไร $ git status # Not currently on any branch. # You are currently rebasing. # (fix conflicts and then run "git rebase --continue") # (use "git rebase --skip" to skip this patch) # (use "git rebase --abort" to check …

9
ยอมรับประวัติบนที่เก็บรีโมต
ฉันพยายามเข้าถึงประวัติการส่งข้อมูลของสาขาในที่เก็บระยะไกล ฉันได้ดูเอกสารแต่ไม่สามารถหาข้อมูลที่สำคัญเกี่ยวกับวิธีการเข้าถึงประวัติการส่งมอบของ repo ระยะไกลโดยใช้ลูกค้า git ในพื้นที่ของฉัน
206 git  git-log 

6
ฉันจะรับ git เป็นค่าเริ่มต้นเป็น ssh ได้อย่างไรและไม่ใช่ https สำหรับที่เก็บใหม่
วันนี้เมื่อฉันสร้างที่เก็บใหม่บน GitHub บนหน้าการตั้งค่าที่ฉันได้รับ: git remote add origin https://github.com/nikhilbhardwaj/abc.git git push -u origin master และเมื่อใดก็ตามที่ฉันต้องส่งคำมั่นสัญญาฉันต้องป้อนชื่อผู้ใช้และรหัสผ่าน GitHub ของฉัน ฉันสามารถเปลี่ยนสิ่งนั้นเป็น git@github.com:nikhilbhardwaj/abc.git .git/configใน ฉันพบว่ามันค่อนข้างน่ารำคาญ - มีวิธีที่ฉันสามารถกำหนดค่า git ให้ใช้ SSH เป็นค่าเริ่มต้นได้หรือไม่?
206 git  github  ssh 


25
ข้อผิดพลาดของ Git เมื่อพยายามที่จะผลัก - ตะขอรับล่วงหน้าถูกปฏิเสธ
เมื่อฉันพยายามผลักดันการเปลี่ยนแปลงที่ฉันทำฉันได้รับข้อผิดพลาดต่อไปนี้ ... git.exe push -v --progress "origin" iteration1:iteration1 remote: ********************************************************************* To ssh://git@mycogit/cit_pplus.git ! [remote rejected] iteration1 -> iteration1 (pre-receive hook declined) error: failed to push some refs to 'ssh://git@mycogit/cit_pplus.git' เกิดอะไรขึ้น?
206 git 

13
ฉันจะทำให้เจนกินส์ CI เป็นตัวกระตุ้น Git เมื่อกดไปที่มาสเตอร์ได้อย่างไร
ฉันกำลังพยายามจัดตั้ง Jenkins-ci สำหรับโครงการที่ใช้ GitHub ฉันได้ตั้งค่า Jenkins ด้วยปลั๊กอินที่เหมาะสมแล้ว ฉันต้องการให้เจนกิ้นส์สร้างสคริปต์เมื่อใดก็ตามที่มีใครบางคนในโครงการผลักดันให้เชี่ยวชาญ จนถึงตอนนี้ฉันสามารถตั้งค่าเพื่อให้มีการเรียกใช้งานบิลด์เมื่อใดก็ตามที่มีคนกดไปที่ใดก็ได้ แต่มันกว้างเกินไป ฉันทำสิ่งนี้กับ hooks บริการรับโพสต์ใน Git ฉันได้อ่านวิกิพีเดียของเจนกินส์แล้วและแบบฝึกหัดสองสามข้อ แต่รายละเอียดนี้ขาดหายไป ... มันอาจจะเกี่ยวข้องกับการสำรวจหรือไม่ หรือควรจะทำงานในด้าน Git ดังนั้น Git จะกระตุ้นเจนกินส์เมื่อmasterมีการเปลี่ยนแปลงเท่านั้น
205 git  github  jenkins 

11
เป็นไปได้หรือไม่ที่จะผลัก git stash ไปยัง repository ระยะไกล?
ในคอมไพล์เป็นไปได้หรือไม่ที่จะสร้างที่ซ่อนผลักที่เก็บไปยังที่เก็บระยะไกลเรียกคืนที่ซ่อนอยู่ในคอมพิวเตอร์เครื่องอื่นและใช้ที่เก็บ? หรือเป็นตัวเลือกของฉัน: สร้างโปรแกรมปะแก้และคัดลอกโปรแกรมแก้ไขไปยังคอมพิวเตอร์เครื่องอื่นหรือ สร้างสาขาย่อยและส่งมอบงานที่ไม่สมบูรณ์ให้สาขานั้นใช่ไหม
205 git  git-stash 

5
Git: รวมสาขาระยะไกลไว้ในเครื่อง
git fetch --allผมเคยดึงสาขาระยะไกลผ่านทาง ฉันสามารถดูสาขาที่ฉันต้องการผสานผ่านgit branch -aเป็นรีโมท / แหล่งกำเนิด / branchname ปัญหาคือมันไม่สามารถเข้าถึงได้ ฉันไม่สามารถรวมหรือชำระเงินได้

4
ฉันสามารถแบ่งก้อนใหญ่ที่แบ่งแล้วด้วย git ได้ไหม
ฉันเพิ่งค้นพบpatchตัวเลือกคอมไพล์ของaddคำสั่งและฉันต้องบอกว่ามันเป็นคุณสมบัติที่ยอดเยี่ยมจริงๆ ฉันยังค้นพบว่าก้อนใหญ่ก้อนใหญ่สามารถแบ่งออกเป็นกลุ่มย่อยขนาดเล็กได้ด้วยการกดปุ่มsซึ่งเพิ่มความแม่นยำของความมุ่งมั่น แต่ถ้าฉันต้องการความแม่นยำมากขึ้นถ้าก้อนใหญ่ที่แยกไม่เล็กพอ? ตัวอย่างเช่นให้พิจารณาก้อนใหญ่ที่แบ่งแล้ว: @@ -34,12 +34,7 @@ width: 440px; } -/*#field_teacher_id { - display: block; -} */ - -form.table-form #field_teacher + label, -form.table-form #field_producer_distributor + label { +#user-register form.table-form .field-type-checkbox label { width: 300px; } ฉันจะเพิ่มการลบความคิดเห็น CSS ไปยังการส่งครั้งต่อไปได้อย่างไร sตัวเลือกที่ไม่สามารถใช้ได้อีกต่อไป!
204 git  split  add  patch 

8
วิธีดูตัวอย่าง git-pull โดยไม่ดึงข้อมูลออกมา?
เป็นไปได้ไหม โดยทั่วไปมีพื้นที่เก็บข้อมูลระยะไกลที่ฉันดึงใช้เพียง: git pull ตอนนี้ฉันต้องการดูตัวอย่างว่าการเปลี่ยนแปลงนี้จะเปลี่ยน (ส่วนต่าง) โดยไม่แตะอะไรข้างฉัน เหตุผลคือสิ่งที่ฉันกำลังดึงอาจจะไม่ "ดี" และฉันต้องการให้คนอื่นแก้ไขก่อนที่จะทำให้ที่เก็บของฉัน "สกปรก"

5
โอนที่เก็บข้อมูล git จาก GitLab ไปยัง GitHub - เราจะทำอย่างไรและผิดพลาด (ถ้ามี) ได้ไหม?
สามารถถ่ายโอนที่เก็บจาก GitLab ไปยัง GitHub ได้ไหมถ้าต้องการ ถ้าเป็นเช่นนั้นฉันจะทำสิ่งเดียวกันได้อย่างไร? นอกจากนี้ยังมีข้อผิดพลาดใด ๆ ในการทำเช่นนั้นหรือมาตรการป้องกันไว้ล่วงหน้าที่ฉันต้องจำไว้ก่อนที่จะทำเช่นนั้นเนื่องจากฉันอาจตัดสินใจย้ายพวกเขาไปที่ GitHub ในที่สุด (เนื่องจากมีคุณสมบัติเพิ่มเติมในขณะที่ฉันอาจพบว่ามีประโยชน์สำหรับโครงการของฉัน )

10
เรียกในคอมไพล์ไม่ได้สาขาทั้งหมด
ฉันได้โคลนที่เก็บข้อมูลหลังจากที่มีคนสร้างสาขาใหม่ซึ่งฉันต้องการเริ่มทำงาน ฉันอ่านคู่มือและดูเหมือนว่าตายง่าย ๆ น่าแปลกที่มันไม่ทำงานและโพสต์ทั้งหมดที่ฉันพบแนะนำให้ฉันทำสิ่งที่ถูกต้อง ดังนั้นฉันจะอยู่ภายใต้การลงโทษเพราะจะต้องมีบางสิ่งบางอย่างที่ผิดปกติกับเรื่องนี้: การกระทำที่ถูกต้องน่าจะเป็น git fetch git branch -a * master remotes/origin/HEAD --> origin/master remotes/origin/master git checkout -b dev-gml origin/dev-gml ณ จุดนี้มีปัญหาด้วยเหตุผลบางอย่างหลังจากที่git fetchฉันไม่เห็นสาขาระยะไกล dev-gml ทำไมจะไม่ล่ะ? ถ้าฉันโคลนที่เก็บใหม่มันอยู่ที่นั่นแน่นอนว่ามีสาขาระยะไกล: $ mkdir ../gitest $ cd ../gitest $ git clone https://github.com/example/proj.git Cloning into proj... remote: Counting objects: 1155, done. remote: Compressing objects: 100% …
204 git  fetch  branch  git-fetch 

7
ฉันจะบังคับให้ git pull เขียนทับทุกอย่างบน pull ทุกครั้งได้อย่างไร
ฉันมีที่เก็บข้อมูลส่วนกลาง CENTRAL ที่มีที่เก็บนักพัฒนาซอฟต์แวร์สามแห่งที่ดึงและผลักดันตามปกติ ฉันยังมีที่เก็บอื่นอีกสองแห่งที่ดึงมาจาก CENTRAL bare repo: หนึ่งคือเซิร์ฟเวอร์สดและอีกอันคือเซิร์ฟเวอร์ทดสอบ / สเตจ - แต่ละอันดึงจากสาขาของตนเอง สถานการณ์นี้คือ: ฉันมีpost-updateเบ็ดสคริปต์บน repo CENTRAL ที่เข้าถึงการทดสอบและ repos สดโดยอัตโนมัติและเรียกใช้คำสั่งดึงในแต่ละ การอัปเดตนี้จะทดสอบทั้งเซิร์ฟเวอร์ทดสอบและเซิร์ฟเวอร์จริงทั้งนี้ขึ้นอยู่กับว่าสาขาใดมีคอมมิทใหม่ ทั้งหมดนี้ใช้งานได้ดี ปัญหาคือ: อาจมีบางครั้งในกรณีฉุกเฉินที่ไฟล์อาจถูกอัพเดตโดยตรงบนเซิร์ฟเวอร์ (ผ่านทาง ftp หรืออะไรก็ตาม) และสคริปต์หลังการอัพเดต CENTRAL จะล้มเหลวเนื่องจากข้อขัดแย้งผสาน / เขียนทับจะเกิดขึ้น ไม่มีวิธีที่จะหลีกเลี่ยงสถานการณ์นี้และหลีกเลี่ยงไม่ได้ สิ่งที่ฉันต้องการที่จะมีเกิดขึ้นคือ: ฉันต้องการดึงจากเว็บไซต์ที่อยู่อาศัยและการทดสอบเพื่อเสมอเขียนทับ / ผสานดึง เสมอ. repos เหล่านี้จะถูกดึงอย่างเดียวเนื่องจากไม่ใช่เพื่อการพัฒนา ในการวิจัยทั้งหมดของฉันฉันไม่สามารถหาทางออกที่ดีในการดึงเสมอบังคับให้เขียนทับไฟล์ท้องถิ่น เป็นไปได้ไหม? มันจะทำให้สถานการณ์การพัฒนาที่ดีถ้าเป็นเช่นนั้น
203 git  git-pull 

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