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

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

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

11
ยกเลิกการรีเซ็ตคอมไพล์ - ฮาร์ดด้วยไฟล์ที่ไม่ได้กำหนดไว้ในพื้นที่การจัดเตรียม
ฉันกำลังพยายามกู้คืนงานของฉัน ฉันโง่ได้git reset --hardแต่ก่อนที่ผมเคยทำเท่านั้นและไม่ได้ทำget add . git commitกรุณาช่วย! นี่คือบันทึกของฉัน: MacBookPro:api user$ git status # On branch master # Changes to be committed: # (use "git reset HEAD <file>..." to unstage) # modified: .gitignore ... MacBookPro:api user$ git reset --hard HEAD is now at ff546fa added new strucuture for api เป็นไปได้ไหมที่จะเลิกทำgit …

5
Git pull ส่งผลให้ข้อความ“ Merge branch” ที่ไม่เกี่ยวข้องในบันทึกคอมมิต
ฉันกำลังทำงานร่วมกับนักพัฒนารายอื่นในโปรเจ็กต์และเรากำลังใช้ Github เป็น repo ระยะไกล ฉันใช้ Mac โดยใช้ git 1.7.7.3 เขาใช้ Windows โดยใช้ git 1.7.6 นี่คือสิ่งที่เกิดขึ้น พวกเราคนหนึ่ง (ขอเรียกเขาว่านักพัฒนา A แต่ไม่สำคัญว่าคนไหน) ผลักดันชุดการคอมมิตไปที่ GitHub อีกคนหนึ่ง (ผู้พัฒนา B) ทำการตกลงในพื้นที่ B git pullไม่ได้ B git pushไม่ได้ เมื่อดูบันทึกประวัติการกระทำฉันเห็นMerge branch 'master' ของ github.com:foo/bar บันทึกการคอมมิตจะเกลื่อนไปด้วยข้อความ "Merge branch" เมื่อเวลาผ่านไปและยังแสดงให้นักพัฒนา B ยอมรับการเปลี่ยนแปลงที่นักพัฒนา A ทำ วิธีเดียวที่เราพบเพื่อป้องกันปัญหานี้คือทำgit pull --rebaseในขั้นตอนที่ 3 แต่ฉันไม่รู้ว่าจะมีผลข้างเคียงอะไรบ้าง …
110 git  github  commit 

6
วิธีสร้าง git diff --ignore-space-change the default
ฉันอาจตั้งนามแฝงได้ แต่ดูเหมือนว่าฉันควรจะตั้งค่านี้เป็นตัวเลือกในไฟล์กำหนดค่าได้ แต่ฉันไม่เห็นว่าจะทำต่อไป ฉันต้องการเฉพาะ--ignore-space-changeเวลาที่ฉันทำสิ่งที่แตกต่างไม่ใช่ตอนที่ฉันสมัครหรืออย่างอื่น ฉันพยายามทำให้ความแตกต่างง่ายต่อการเข้าใจโดยไม่ทำให้มันยุ่งเหยิงด้วยเส้น +/- ภายนอกที่ไม่มีการเปลี่ยนแปลงที่แท้จริง
110 git  config  git-config 

6
Git - ลบไฟล์บางไฟล์ในเครื่องฉันจะเอาไฟล์เหล่านั้นจากที่เก็บระยะไกลได้อย่างไร
ฉันได้ลบไฟล์บางไฟล์บนพีซีของฉันแล้วฉันจะดาวน์โหลดอีกครั้งได้อย่างไร Pull กล่าวว่า: "ทันสมัยอยู่แล้ว"
110 git 

3
รีเซ็ตสาขาอื่นเป็นปัจจุบันโดยไม่ต้องชำระเงิน
ฉันกำลังเขียนสคริปต์สำหรับเวิร์กโฟลว์ Git ของฉัน ฉันต้องการรีเซ็ตสาขาอื่น (ที่มีอยู่) เป็นสาขาปัจจุบันโดยไม่ต้องชำระเงิน ก่อน: CurrentBranch: commit A OtherBranch: commit B หลังจาก: CurrentBranch: commit A OtherBranch: commit A เทียบเท่ากับ $ git checkout otherbranch $ git reset --soft currentbranch $ git checkout currentbranch (บันทึก --soft : ฉันไม่ต้องการที่จะส่งผลกระทบต่อการทำงานต้นไม้.) เป็นไปได้หรือไม่
110 git 

18
ไม่สามารถส่งไปยังสาขาระยะไกลไม่สามารถแก้ไขเป็นสาขาได้
ฉันย้าย repos ของฉันจาก Bitbucket หรือ Github ฉันไม่คิดว่าเรื่องนี้สำคัญ แต่สิ่งเดียวที่แตกต่างออกไป ... ในขณะที่ฉันตั้งค่ารีโมทสองตัว: origin: bitbucket github: github จากนั้นฉันก็ลบต้นกำเนิดทั้งสองและชี้ไปที่ github: git remote remove origin git remote remove github git remote add origin https://github.... ทดสอบผลักดันสาขาการพัฒนา: git push origin develop ทุกอย่างทันสมัยโอเคดี สร้างสาขาใหม่สำหรับงานบางอย่างตามปกติ: git checkout -b Feature/Name อัปเดตไฟล์หรือสองไฟล์ พยายามกดไปที่รีโมต: git push origin Feature/Name ส่งผลให้เกิดข้อผิดพลาด: ถึงแก่ชีวิต: ไม่สามารถแก้ไขคุณลักษณะ / …
110 git 

3
Visual Studio: เปลี่ยนเส้นทางเริ่มต้นสำหรับที่เก็บสำหรับปลั๊กอิน GIT
ฉันต้องการที่จะโคลนที่เก็บ GitHub จาก Visual Studio C:\Users\[User]\Sources\Repos\[NameOfProject]และเส้นทางเริ่มต้นคือ จะเปลี่ยนได้อย่างไร? ทุกครั้งที่ฉันสร้างหรือโคลน repo เส้นทางยังคงเหมือนเดิม
110 git  visual-studio 

7
วิธีจัดเรียงแท็ก git ตามลำดับสตริงเวอร์ชันของแบบฟอร์ม rc-XYZW
เมื่อฉันป้อนคำสั่ง: git tag -l ฉันได้รับผลลัพธ์ดังกล่าว: rc-0.9.0.0 rc-0.9.0.1 rc-0.9.0.10 rc-0.9.0.11 rc-0.9.0.12 rc-0.9.0.2 rc-0.9.0.3 rc-0.9.0.4 rc-0.9.0.5 rc-0.9.0.6 rc-0.9.0.7 rc-0.9.0.8 rc-0.9.0.9 แทนที่จะเป็นสิ่งนี้ฉันต้องการ: rc-0.9.0.0 rc-0.9.0.1 rc-0.9.0.2 rc-0.9.0.3 rc-0.9.0.4 rc-0.9.0.5 rc-0.9.0.6 rc-0.9.0.7 rc-0.9.0.8 rc-0.9.0.9 rc-0.9.0.10 rc-0.9.0.11 rc-0.9.0.12 เป็นไปได้อย่างไรในการจัดเรียงรายการปัจจุบันเพื่อให้ได้ผลลัพธ์ดังกล่าว
110 git  sorting  tags 

6
ฉันจะดึงโปรเจ็กต์จาก github ได้อย่างไร
ฉันมีโปรเจ็กต์เกี่ยวกับ github ที่ฉันเคยทำมาก่อน อย่างไรก็ตามฉันล้างข้อมูลคอมพิวเตอร์ของฉันและฉันสงสัยว่าฉันควรเรียกใช้คำสั่ง git ใดภายใต้ชื่อผู้ใช้ของฉันเพื่อชำระเงินโครงการของฉันอีกครั้งเพื่อที่ฉันจะได้ส่งการเปลี่ยนแปลงล่าสุดไปยัง github ภายใต้บัญชีของฉัน
110 git  github 

9
วิธีเชอร์รี่เลือกเฉพาะการเปลี่ยนแปลงสำหรับไฟล์เดียวเท่านั้นไม่ใช่การคอมมิตทั้งหมด
ฉันต้องการใช้การเปลี่ยนแปลงที่เกิดขึ้นในสาขาหนึ่งกับอีกสาขาหนึ่ง ฉันสามารถใช้เชอร์รี่เลือกเพื่อทำสิ่งนั้นได้ อย่างไรก็ตามในกรณีของฉันฉันต้องการใช้การเปลี่ยนแปลงที่เกี่ยวข้องกับไฟล์เดียวเท่านั้นฉันไม่จำเป็นต้องเลือกคอมมิตทั้งหมด ต้องทำอย่างไร?
110 git 

6
ชื่อผู้ใช้และรหัสผ่านในคำสั่งสำหรับ git push
เป็นไปได้ที่จะโคลนที่เก็บ git โดยระบุชื่อผู้ใช้และรหัสผ่านในคำสั่ง ตัวอย่าง: git clone https://username:password@myrepository.biz/file.git เป็นไปได้ไหมที่จะระบุชื่อผู้ใช้และรหัสผ่านเมื่อกด? ดังนั้นตัวอย่างเช่นการรันgit push origin --allจะแสดงผลขอรหัสผ่าน ฉันต้องการสิ่งนี้ในคำสั่งเดียว (ฉันทราบถึงความสามารถในการตั้งค่าคีย์และวิธีแก้ไขปัญหาอื่น ๆ แต่ฉันต้องการทราบว่ามีวิธีเพียงแค่ใช้ชื่อผู้ใช้และรหัสผ่านต่อไปด้วยคำสั่งเดียวหรือไม่) ฉันใช้งาน Git Bash บน Windows 8.1
110 git  git-bash 

5
วิธีใช้ Git Revert
วิธีการgit revertใช้งานอย่างไร นี่อาจฟังดูเหมือนคำถามซ้ำกัน แต่เมื่อมีคนถามคำตอบมักจะใช้git resetตามการเปลี่ยนกลับเป็นการคอมมิตโดยแฮช SHA ใน Git? จากนั้นเมื่อมีคนถามวิธีใช้git resetคนตอบว่าคุณควรใช้git revertตามGit - วิธีย้อนกลับ ก่อนที่คุณจะรู้ว่ามีคน 8 คนที่แตกต่างกันปรากฏตัวขึ้นพร้อมกับวิธีที่เป็นเอกลักษณ์ของตนเองในการช่วยลาของ OP ซึ่งทั้งหมดนี้อยู่เหนือหัวของคุณ เพื่อช่วยให้ลองและติดสั้นและเขียนคู่มือ Dummies git revertไป สถานการณ์: คุณได้มุ่งมั่นที่จะเชี่ยวชาญสองครั้งและไม่ดี คุณผลักดันและคนอื่น ๆ ก็ได้รับการเปลี่ยนแปลงที่ไม่ดีของคุณ คุณต้องการเลิกทำ ไม่ใช่สิ่งที่คุณสามารถเลิกทำโค้ดด้วยตัวเองได้พูดว่าวิซาร์ดหรือตัวจัดการแพ็กเกจบางตัวเปลี่ยนสิ่งต่างๆมากมายในสถานที่คุณเพียงแค่ต้องการนำกลับมาใช้ใหม่ทั้งหมด นี่คือสิ่งที่การควบคุมแหล่งที่มาเป็นข้อมูลเกี่ยวกับ ฉันมั่นใจว่ามันง่าย โอเคคุณจะใช้git revertแต่อย่างไร แล้วหลังวิ่งgit revertต้องทำอะไรอีกไหม? คุณต้องยอมรับการเปลี่ยนแปลงที่ทำกลับไปหรือเปลี่ยนกลับเป็นการกระทำโดยตรงกับ repo หรืออะไร ?? แน่นอนว่าคุณจะต้องผลักดันอีกครั้งและอาจประกาศการส่งบอลให้กับทีม
110 git 

12
ฉันจะเดินหน้าและถอยหลังระหว่าง commits in git ได้อย่างไร?
ฉันกำลังทำgit bisectและหลังจากมาถึงข้อตกลงที่มีปัญหาตอนนี้ฉันกำลังพยายามก้าวไปข้างหน้า / ถอยหลังเพื่อให้แน่ใจว่าฉันอยู่ในสิ่งที่ถูกต้อง ฉันรู้ที่HEAD^จะย้อนกลับไปในประวัติศาสตร์ แต่มีทางลัดอื่นที่จะพาฉันไปข้างหน้า (ไปสู่การกระทำที่เฉพาะเจาะจงในอนาคต) ดังนี้: A - B - C(HEAD) - D - E - F ฉันรู้ว่าเป้าหมายของฉันคือFและฉันต้องการที่จะย้ายจากCไปD หมายเหตุ: นี่ไม่ใช่Git ที่ซ้ำกัน: วิธีการเลื่อนไปมาระหว่างการกระทำคำถามของฉันแตกต่างกันเล็กน้อยและไม่มีคำตอบที่นั่น
110 git 

5
การเรียงลำดับใหม่ของการกระทำ
ฉันกำลังทำงานในสาขาหนึ่งและต้องการให้คำมั่นที่จะรวมเข้ากับสาขาอื่น: a-b-c-d-e-f-g (branchA) / --o-x-x-x-x-x-x-x-x-x-x (master) \ x-x-x-x-x (branchB) (ตัวอักษรแสดงถึงการกระทำและ "x" คือการกระทำที่ไม่เกี่ยวข้อง) อย่างไรก็ตามฉันสังเกตว่ามันเป็นความคิดที่ดีที่จะรวมการกระทำบางอย่าง ฉันต้องการ "เชื่อมต่อ" คอมมิต a, d, e และ g เป็นแพทช์เดียวและส่งให้เชี่ยวชาญ การกระทำ b และ f ควรเป็นไปตามที่กระทำกับ branch B มีวิธี 'git'-ish ที่ดีในการบรรลุหรือไม่?
110 git  branch 

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