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

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

10
วิธีรับการกระทำที่แน่นอนจากโครงการ GitHub
ฉันจำเป็นต้องดาวน์โหลด API Facebook จากGitHub โดยปกติฉันเพียงคลิกที่แท็บ 'ดาวน์โหลด' เพื่อดาวน์โหลดซอร์สโค้ดล่าสุดในกรณีนี้ฉันต้องยอมรับคำสั่งเก่ากว่า: 91f256424531030a454548693c3a6ca49ca3f35aแต่ฉันไม่รู้ว่าจะทำโปรเจคทั้งหมดได้อย่างไร ใครช่วยได้โปรดบอกวิธีการทำเช่นนี้? (BTW, im บน mac. ไม่ทราบว่าจะสร้างความแตกต่างใด ๆ )
151 git  github 

3
วิธีส่งการเปลี่ยนแปลงไปยังสาขาใหม่
ฉันเพิ่งเปลี่ยนแปลงสาขา ฉันจะยอมรับการเปลี่ยนแปลงไปยังสาขาอื่นได้อย่างไร ฉันพยายามใช้: git checkout "the commmit to the changed branch" -b "the other branch" อย่างไรก็ตามฉันไม่คิดว่านี่เป็นสิ่งที่ถูกต้องเพราะในกรณีนี้ฉันกำลังสร้างสาขาใหม่แทนที่จะยอมรับการเปลี่ยนแปลงเป็น "สาขาอื่น" ฉันควรใช้คำสั่งต่อไปนี้แทนหรือไม่ git merge "the other branch"
151 git 

29
ไม่สามารถแก้ไขข้อผิดพลาด host github.com ขณะโคลนที่เก็บระยะไกลใน git
สิ่งที่ฉันทำ: ฉันได้สร้างที่เก็บระยะไกลบน Github และฉันกำลังพยายามโคลนที่เก็บระยะไกลบนเครื่องท้องถิ่นของฉัน ขณะทำการโคลนฉันกำลังให้ URL โคลน & โฟลเดอร์เป้าหมาย แต่ทุกครั้งที่พยายามโคลนฉันได้รับข้อผิดพลาดนี้: ข้อผิดพลาด: "ร้ายแรง: ไม่สามารถเข้าถึง ' https://github.com/hyperion057/spring-repo.git/ ': ไม่สามารถแก้ไขโฮสต์: github.com" ฉันต้องทำอย่างไรเพื่อเชื่อมต่อกับ GitHub
151 git  github 

12
เป็นไปได้หรือไม่ที่ git-merge จะเพิกเฉยต่อความแตกต่างของการสิ้นสุดบรรทัด
เป็นไปได้หรือgit mergeไม่ที่จะละเว้นความแตกต่างของการสิ้นสุดบรรทัด บางทีฉันอาจจะถามคำถามผิด ... แต่: ฉันพยายาม uisng config.crlf inputแต่สิ่งที่มียุ่งบิตและออกจากการควบคุมเป็นพิเศษเมื่อฉันใช้มันตามความเป็นจริง สำหรับสิ่งหนึ่งที่ใช้การกำหนดค่านี้หลังจากข้อเท็จจริงดูเหมือนว่าจะไม่ส่งผลกระทบต่อไฟล์ที่มุ่งมั่นกับที่เก็บก่อนที่จะใช้ตัวเลือกนี้ อีกสิ่งหนึ่งคือทันใดนั้นการกระทำทั้งหมดส่งผลให้มีข้อความเตือนที่น่ารำคาญมากมายเกี่ยวกับ CRLF ที่ถูกแปลงเป็น LF พูดตามตรงฉันไม่สนใจจริงๆว่าจะใช้การเขียนแบบบรรทัดหรือไม่ฉันชอบสไตล์ของ Unix \nแต่ไม่ว่าอะไรก็ตาม สิ่งที่ฉันสนใจคือเพื่อgit mergeให้มีความฉลาดขึ้นและเพิกเฉยต่อความแตกต่างในการวางสาย บางครั้งฉันมีไฟล์ที่เหมือนกันสองไฟล์ แต่คอมไพล์จะทำเครื่องหมายว่าพวกเขาอยู่ในความขัดแย้ง (และความขัดแย้งคือไฟล์ทั้งหมด ) เพียงเพราะพวกเขาใช้อักขระสิ้นสุดบรรทัดที่แตกต่างกัน ปรับปรุง: ฉันพบว่าgit diffยอมรับ--ignore-space-at-eolตัวเลือกเป็นไปได้ไหมที่จะอนุญาตให้git mergeใช้ตัวเลือกนี้ด้วย?
150 git  merge  git-svn  line-endings  eol 

12
วิธีการเปลี่ยนรูปแบบวันที่บันทึก Git
ฉันกำลังพยายามแสดงการส่งมอบครั้งล่าสุดภายใน Git แต่ฉันต้องการวันที่ในรูปแบบพิเศษ ฉันรู้ว่ารูปแบบไฟล์บันทึกค่อนข้าง%adเคารพ--dateรูปแบบ แต่--dateรูปแบบเดียวที่ฉันสามารถหาได้คือ "สั้น" ฉันต้องการรู้จักคนอื่น ๆ และฉันสามารถสร้างที่กำหนดเองเช่น: git -n 1 --date=**YYMMDDHHmm** --pretty=format:"Last committed item in this release was by %%an, %%aD, message: %%s(%%h)[%%d]"
150 git  command-line 

5
วิธีการผลักดันไปยังพื้นที่เก็บข้อมูล Git ที่ไม่ได้เปลือยเปล่า?
ฉันมักจะทำงานบนเซิร์ฟเวอร์ระยะไกลผ่าน ssh (หน้าจอและ vim) ที่ฉันมีที่เก็บ Git บางครั้งฉันไม่ได้ออนไลน์ดังนั้นฉันจึงมีที่เก็บแยกต่างหาก (โคลนจากระยะไกล) บนแล็ปท็อปของฉัน อย่างไรก็ตามฉันไม่สามารถดึงจากที่เก็บนี้ทางด้านระยะไกลได้เพราะโดยปกติฉันจะอยู่หลังไฟร์วอลล์หรือฉันไม่มี IP สาธารณะ ฉันอ่านแล้วว่าฉันควรดันไปที่ที่เก็บเปล่า ฉันจะผลักดันการเปลี่ยนแปลงไปยังที่เก็บระยะไกลของฉันได้อย่างไร

14
เหตุใด Git จึงถือว่าไฟล์ข้อความนี้เป็นไฟล์ไบนารี
ฉันสงสัยว่าทำไมคอมไพล์บอกฉันนี้: $ git diff MyFile.txt diff --git a/MyFile.txt b/MyFile.txt index d41a4f3..15dcfa2 100644 Binary files a/MyFile.txt and b/MyFile.txt differ พวกเขาไม่ใช่ไฟล์ข้อความเหรอ? ฉันได้ตรวจสอบ. gitattributes แล้วและมันว่างเปล่า ทำไมฉันถึงได้รับข้อความนี้? ฉันไม่สามารถรับความแตกต่างได้เมื่อฉันใช้อีกต่อไป เพิ่ม: ฉันสังเกตเห็นว่ามีการ@อนุญาตในไฟล์นี่คืออะไร นี่อาจเป็นเหตุผลหรือไม่ $ls -all drwxr-xr-x 5 nacho4d staff 170 28 Jul 17:07 . drwxr-xr-x 16 nacho4d staff 544 28 Jul 16:39 .. -rw-r--r--@ 1 nacho4d …
150 git  binary 

5
จะไม่มีการเปลี่ยนแปลงและข้อความใหม่ได้อย่างไร?
ฉันจะสร้างข้อความใหม่commitและสร้างข้อความใหม่ได้อย่างไรหากไม่มีการเปลี่ยนแปลงไฟล์ เป็นไปไม่ได้เนื่องจากรหัสของการกระทำ (SHA?) จะเหมือนกันหรือไม่?
150 git  commit 


6
git selective ยกเลิกการเปลี่ยนแปลงในเครื่องจากไฟล์
ใน repo git ของฉันซึ่งติดตาม repo svn ฉันได้ทำการแก้ไขเป็นไฟล์เดียว ตอนนี้ฉันต้องการย้อนกลับการเปลี่ยนแปลงเหล่านั้น (เช่น svn revert) แต่มีเพียงบางส่วนของไฟล์ ฉันต้องการดูความแตกต่างของไฟล์ละทิ้ง (ย้อนกลับ) การเปลี่ยนแปลงที่ฉันไม่ต้องการและเก็บการเปลี่ยนแปลงที่ฉันต้องการ git add -i ดูเหมือนว่าคำสั่งจะมีตัวเลือกให้ทำเช่นนั้น แต่ฉันยังไม่ต้องการทำขั้นตอนนี้

1
ฉันจะเชื่อมโยงการพึ่งพาใน repo คอมไพล์ได้อย่างไร
ในสคริปต์ของฉันฉันมักจะใช้ห้องสมุด (ของฉันหรือของคนอื่น) ที่มี repos ของตัวเอง ฉันไม่ต้องการทำซ้ำสิ่งที่อยู่ใน repo ของฉันและติดอยู่กับการอัพเดททุกครั้งที่มีเวอร์ชันใหม่ออกมา อย่างไรก็ตามเมื่อมีคนโคลน repo มันควรจะทำงานในพื้นที่และไม่มีการเชื่อมโยงที่ขาด ความคิดใด ๆ เกี่ยวกับสิ่งที่ฉันสามารถทำได้?

4
Git บนพอร์ต SSH ที่กำหนดเอง
ผู้ให้บริการ VPS ของฉันแนะนำให้ฉันปล่อยให้พอร์ต SSH ของฉันไปยังหมายเลขพอร์ตที่กำหนดเองที่พวกเขากำหนดโดยค่าเริ่มต้น (ไม่ใช่ 22) สิ่งที่เป็นในขณะที่ฉันรู้ว่าฉันสามารถให้หมายเลขพอร์ตเมื่อสร้างการกำหนดค่าระยะไกลดูเหมือนว่าฉันไม่สามารถทำเช่นเดียวกันเมื่อทำโคลนคอมไพล์ ฉันใช้ gitolite ดังนั้นฉันจึงคำสั่งโคลนเหมือน: git clone git@mydomain.com:gitolite-admin มีวิธีแอบแฝงนี้เพื่อใช้หมายเลขพอร์ต ssh ที่กำหนดเองหรือไม่ ฉันควรจะพูดถึงฉันกำลังใช้ cygwin บน windows ฉันเคยเห็นหลายที่บอกว่าจะเพิ่มพอร์ตที่กำหนดเองลงใน~/.ssh/configไฟล์เช่น Host mydomain.com Port 12345 อย่างไรก็ตามใน cygwin ดูเหมือนว่าไฟล์นั้นจะไม่มีอยู่จริง

3
ข้อแตกต่างระหว่าง Commit, Commit และ Push, Commit และ Sync
ฉันใช้ visual studio 2013 และฉันต้องเผชิญกับ 3 ตัวเลือกเมื่อฉันยอมรับรหัส C # ของฉัน ฉันต้องการคำอธิบายของความแตกต่างระหว่างตัวเลือกแต่ละตัวที่เกี่ยวข้องกับสิ่งที่เกิดขึ้นกับ repo ในพื้นที่ของฉันกับ GitHub repo ตัวเลือก 1 กล่าวว่ากระทำ ตัวเลือกที่ 2 บอกว่ากระทำและกด ตัวเลือก 3 กล่าวว่า Commit และ Sync ฉันไม่เข้าใจความแตกต่างระหว่างตัวเลือก 2 ตัวสุดท้าย เมื่อใดที่ฉันควรใช้ Commit และ Sync ตรงข้ามกับ Commit และ Push


10
จะกำจัดสถานะ Git submodules ที่ไม่ได้ติดตามได้อย่างไร
ดูเหมือนว่าฉันจะไม่สามารถกำจัดเนื้อหาที่ไม่ได้ติดตามได้ใน submodules ของ Git วิ่งgit statusผลผลิต: # เกี่ยวกับอาจารย์สาขา # การเปลี่ยนแปลงที่ไม่ได้จัดเตรียมไว้สำหรับการส่งมอบ: # (ใช้ "git add ... " เพื่ออัปเดตสิ่งที่จะเกิดขึ้น) # (ใช้ "ชำระเงิน git - ... " เพื่อยกเลิกการเปลี่ยนแปลงในไดเรกทอรีการทำงาน) # (กระทำหรือทิ้งเนื้อหาที่ไม่ได้ติดตามหรือแก้ไขใน submodules) # # modified: มัด / snipmate (เนื้อหาที่ไม่ได้ติดตาม) # modified: มัด / รอบทิศทาง (เนื้อหาที่ไม่ได้ติดตาม) # modified: มัด / ต่อท้าย - ช่องว่าง (เนื้อหาที่ไม่ได้ติดตาม) # …

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