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

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


2
"rebase --preserve-meres" ของ git ทำอะไรได้บ้าง (และทำไม)
เอกสารrebaseของ Git สำหรับคำสั่งนั้นค่อนข้างสั้น: --preserve-merges Instead of ignoring merges, try to recreate them. This uses the --interactive machinery internally, but combining it with the --interactive option explicitly is generally not a good idea unless you know what you are doing (see BUGS below). ดังนั้นสิ่งที่เกิดขึ้นจริงเมื่อคุณใช้--preserve-merges? มันแตกต่างจากพฤติกรรมเริ่มต้น (ไม่มีธงนั้น) อย่างไร การ "สร้าง" การผสานหมายความว่าอย่างไร
355 git  git-rebase 

30
Git Push ข้อผิดพลาด: ไม่พบที่เก็บข้อมูล
ฉันกำลังมีปัญหาแปลกมากด้วยและgit githubเมื่อฉันพยายามและผลักดันฉันได้รับ: git push -u origin master ERROR: Repository not found. fatal: The remote end hung up unexpectedly ฉันเพิ่มรีโมต: git remote add origin git@github.com:account-name/repo-name.git ความคิดใด ๆ
355 git  github  git-push 

28
คุณสามารถลบหลายสาขาในคำสั่งเดียวด้วย Git ได้หรือไม่
ฉันต้องการที่จะทำความสะอาดพื้นที่เก็บข้อมูลในท้องถิ่นของเราซึ่งมีตันของสาขาเก่า: ยกตัวอย่างเช่น3.2, 3.2.1, 3.2.2ฯลฯ ฉันหวังว่าจะมีวิธีการลับ ๆ ล่อๆในการลบพวกเขาจำนวนมากในครั้งเดียว เนื่องจากพวกเขาส่วนใหญ่ปฏิบัติตามข้อตกลงการปล่อยจุดฉันคิดว่าอาจมีทางลัดในการพูด git branch -D 3.2.* และฆ่าสาขา 3.2.x ทั้งหมด ฉันลองคำสั่งนั้นแล้วแน่นอนมันไม่ทำงาน
355 git 

9
สาขาของคุณอยู่ก่อนหน้า 'ต้นทาง / หลัก' โดย 3 คอมมิท
ฉันได้รับสิ่งต่อไปนี้เมื่อทำงาน git status Your branch is ahead of 'origin/master' by 3 commits. ฉันได้อ่านวิธีการแก้ไขปัญหานี้แล้วในโพสต์อื่นgit pull --rebaseแต่สิ่งที่แน่นอนคือการรีบูตฉันจะสูญเสียข้อมูลหรือเป็นวิธีที่ง่ายในการซิงค์กับต้นแบบหรือไม่
354 git  git-rebase 

11
ลบไฟล์ที่มีความละเอียดอ่อนและความมุ่งมั่นของพวกเขาจากประวัติ Git
ฉันต้องการวางโครงการ Git บน GitHub แต่มีไฟล์บางอย่างที่มีข้อมูลที่ละเอียดอ่อน (ชื่อผู้ใช้และรหัสผ่านเช่น /config/deploy.rb สำหรับ capistrano) ฉันรู้ว่าฉันสามารถเพิ่มชื่อไฟล์เหล่านี้ใน. gitignoreแต่นี่จะไม่ลบประวัติของพวกเขาภายใน Git ฉันไม่ต้องการเริ่มต้นใหม่อีกครั้งโดยการลบไดเรกทอรี /.git มีวิธีที่จะลบทุกร่องรอยของไฟล์โดยเฉพาะอย่างยิ่งในประวัติศาสตร์ Git ของคุณหรือไม่

5
ชำระเงินที่สาขาอื่นเมื่อมีการเปลี่ยนแปลงที่ไม่มีข้อผูกมัดในสาขาปัจจุบัน
ส่วนใหญ่เวลาที่ฉันลองชำระเงินสาขาอื่นที่มีอยู่ Git ไม่อนุญาตให้ฉันถ้าฉันมีการเปลี่ยนแปลงที่ไม่มีข้อผูกมัดในสาขาปัจจุบัน ดังนั้นฉันจะต้องยอมรับหรือซ่อนการเปลี่ยนแปลงเหล่านั้นก่อน อย่างไรก็ตามในบางครั้ง Git อนุญาตให้ฉันเช็คเอาต์สาขาอื่นโดยไม่ยืนยันหรือหยุดการเปลี่ยนแปลงเหล่านั้นและมันจะทำการเปลี่ยนแปลงเหล่านั้นกับสาขาที่ฉันเช็คเอาต์ กฎนี่คืออะไร มันมีความสำคัญไม่ว่าการเปลี่ยนแปลงจะถูกจัดฉากหรือไม่เป็นฉาก? การแบกรับการเปลี่ยนแปลงไปสู่สาขาอื่นไม่สมเหตุสมผลกับฉันทำไมบางครั้งคอมไพล์จึงอนุญาต นั่นคือมีประโยชน์ในบางสถานการณ์หรือไม่
353 git 

8
การสร้างสาขาใหม่ที่ว่างเปล่าสำหรับโครงการใหม่
เราใช้พื้นที่เก็บข้อมูลคอมไพล์เพื่อจัดเก็บโครงการของเรา เรามีสาขาของเราแยกย้ายจากสาขาเดิม แต่ตอนนี้เราต้องการสร้างโครงการใหม่ขนาดเล็กเพื่อติดตามเอกสารบางอย่าง เพื่อที่เราจะต้องการสร้างสาขาใหม่ที่ว่างเปล่าเพื่อเริ่มจัดเก็บไฟล์ของเราและฉันต้องการให้ผู้ใช้คนอื่น ๆ ของเครือข่ายทำการโคลนสาขานั้น เราจะทำสิ่งนั้นได้อย่างไร ฉันลองบางสิ่ง แต่พวกเขาไม่ได้ทำงาน $ mkdir proj_doc; cd proj_doc $ git init $ git add . $ git commit -m 'first commit' $ git br proj_doc $ git co proj_doc $ git br -d master $ git push origin proj_doc ดูเหมือนว่าจะผลักสาขาได้ แต่เมื่อฉันดึงหรือดึงมันจะดาวน์โหลดข้อมูลจากสาขาอื่นแล้วฉันก็จะได้รับไฟล์พิเศษจากโครงการอื่น ทางออกที่ดีที่สุดคืออะไร
351 git  branch  git-branch 

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

16
เป็นไปได้ไหมที่จะใช้ pip เพื่อติดตั้งแพ็กเกจจากแหล่งเก็บข้อมูลส่วนตัว GitHub?
ฉันพยายามติดตั้งแพ็กเกจ Python จากที่เก็บ GitHub ส่วนตัว สำหรับพื้นที่เก็บข้อมูลสาธารณะฉันสามารถออกคำสั่งต่อไปนี้ซึ่งทำงานได้ดี: pip install git+git://github.com/django/django.git อย่างไรก็ตามถ้าฉันลองนี้สำหรับที่เก็บส่วนตัว: pip install git+git://github.com/echweb/echweb-utils.git ฉันได้รับผลลัพธ์ต่อไปนี้: Downloading/unpacking git+git://github.com/echweb/echweb-utils.git Cloning Git repository git://github.com/echweb/echweb-utils.git to /var/folders/cB/cB85g9P7HM4jcPn7nrvWRU+++TI/-Tmp-/pip-VRsIoo-build Complete output from command /usr/local/bin/git clone git://github.com/echweb/echweb-utils.git /var/folders/cB/cB85g9P7HM4jcPn7nrvWRU+++TI/-Tmp-/pip-VRsIoo-build: fatal: The remote end hung up unexpectedly Cloning into /var/folders/cB/cB85g9P7HM4jcPn7nrvWRU+++TI/-Tmp-/pip-VRsIoo-build... ---------------------------------------- Command /usr/local/bin/git clone git://github.com/echweb/echweb-utils.git /var/folders/cB/cB85g9P7HM4jcPn7nrvWRU+++TI/-Tmp-/pip-VRsIoo-build failed with error code …
349 python  git  github  pip 

2
จะทำให้การเปลี่ยนแปลง“ ของพวกเขา” อยู่ตรงกลางของการรีบูต Git ที่ขัดแย้งกันได้อย่างไร?
ฉันมีสาขาที่ขัดแย้งกัน branch2 แยกจาก branch1 สมมติว่าเมื่อ rebasing branch2ในปัจจุบันbranch1ในขณะที่แก้ปัญหาความขัดแย้งผมตัดสินใจที่จะใช้บางส่วน (ไม่ทั้งหมด) ของ (เช่น "ของ" branch1) ไฟล์ตามที่เป็น ฉันจะทำอย่างไร ฉันเหนื่อย: git checkout branch1:foo/bar.java fatal: reference is not a tree: TS-modules-tmp:foo/bar.java git checkout refs/heads/branch1:foo/bar.java fatal: reference is not a tree: refs/heads/TS-modules-tmp:foo/bar.java
349 git  rebase  git-rebase 

3
การเปลี่ยนแปลงที่เก็บสะสม git นำไปใช้กับสาขาใหม่ได้หรือไม่
ฉันกำลังทำงานในสาขาหลักทำการเปลี่ยนแปลงบางอย่างแล้ว stashed พวกเขา ตอนนี้เจ้านายของฉันอยู่ที่ HEAD แต่ตอนนี้ฉันต้องการเรียกการเปลี่ยนแปลงเหล่านี้ แต่กลับไปยังสาขาใหม่ที่แยกสาขาจากเวอร์ชัน HEAD ของสาขาหลัก ฉันจะทำสิ่งนี้ได้อย่างไร
349 git 

23
เป็นไปได้หรือไม่ที่จะสร้าง repo ระยะไกลบน GitHub จาก CLI โดยไม่ต้องเปิดเบราว์เซอร์?
Наэтотвопросестьответына กองมากเกินнарусском : Каксоздатьрепозиторийна GitHub черезкоманднуюстроку? ฉันสร้างที่เก็บ Git ในพื้นที่ใหม่: ~$ mkdir projectname ~$ cd projectname ~$ git init ~$ touch file1 ~$ git add file1 ~$ git commit -m 'first commit' มีคำสั่ง git เพื่อสร้างrepo ระยะไกลใหม่และผลักดันการกระทำของฉันไปที่ GitHub จากที่นี่? ฉันรู้ว่ามันไม่ใช่เรื่องใหญ่อะไรที่จะเปิดเบราว์เซอร์และมุ่งหน้าไปที่สร้างพื้นที่เก็บข้อมูลใหม่แต่ถ้ามีวิธีที่จะทำให้บรรลุผลได้จาก CLI ฉันจะมีความสุข ฉันอ่านบทความจำนวนมาก แต่ไม่มีใครพบว่าพูดถึงวิธีสร้าง repo ระยะไกลจาก CLI โดยใช้คำสั่ง git บทความดีทิมลูคัสการตั้งค่าเก็บคอมไพล์ใหม่ห่างไกลอยู่ใกล้ฉันพบแต่ GitHub ไม่ได้ให้การเข้าถึงเปลือก

18
Git บน Windows: คุณตั้งค่า mergetool ได้อย่างไร
ฉันได้ลอง msysGit และ Git บน Cygwin แล้ว ทั้งสองทำงานได้ดีทั้งในและของตัวเองและทั้งทำงาน gitk และ git-gui อย่างสมบูรณ์แบบ ทีนี้ฉันจะกำหนดค่า mergetool ได้อย่างไร (Vimdiff ทำงานบน Cygwin แต่โดยเฉพาะอย่างยิ่งฉันต้องการบางสิ่งบางอย่างที่ใช้งานง่ายขึ้นเล็กน้อยสำหรับเพื่อนร่วมงานที่รัก Windows ของเรา)
347 windows  git  cygwin  msysgit 

3
รายการไฟล์ใน repo git ท้องถิ่น?
ฉันใช้ Sparkleshare ซึ่งใช้ Git เพื่อซิงค์ไฟล์ระหว่างแล็ปท็อปและเซิร์ฟเวอร์สำรองของฉัน ตอนนี้ฉันต้องการที่จะสามารถเรียกดูไฟล์และ dirs ที่ฉันอัปโหลดไปยังเซิร์ฟเวอร์ของฉัน แต่ฉันไม่ทราบได้อย่างไร ฉันเข้าใจว่า Git ใช้ลำดับชั้นของไฟล์พิเศษบางอย่างและฉันไม่สามารถแสดงรายการไฟล์ได้ใช่ไหม แต่ฉันจะต้องทำอย่างไรเพื่อแสดงรายการและเรียกดูไฟล์ของฉัน
347 git 

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