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

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

10
OSX 10.10 yosemite beta บน git pull: git-sh-setup: ไม่มีไฟล์หรือไดเร็กทอรีดังกล่าว
หลังจากอัปเกรดเป็น OSX 10.10 Yosemite Beta การรันกำลังgit pullส่งคืนข้อผิดพลาดต่อไปนี้: / Library / Developer / CommandLineTools / usr / libexec / git-core / git-pull: บรรทัดที่ 11: git-sh-setup: ไม่มีไฟล์หรือไดเร็กทอรีดังกล่าว ฉันได้ตรวจสอบไดเร็กทอรี git-core ที่อ้างอิงและ git-sh-setup.sh อยู่ที่นั่น คำสั่ง git อื่น ๆ ทำงานได้ตามที่คาดไว้
90 git  zsh  osx-yosemite 

4
Git เทียบเท่ากับคำสั่ง Mercurial ทั่วไปหรือไม่?
ฉันใช้ Mercurial มาแล้ว แต่อยากจะสาธิต Git อย่างรวดเร็ว Git เทียบเท่ากับอะไร: hg init . # start a project in the current directory hg addremove # look for any added or deleted files hg commit -m "comment" # commit any uncomitted changes hg status # what have i changed since the last commit?
90 git  mercurial 

6
ฉันจะอัปโหลดโปรเจ็กต์ Eclipse ไปยัง GitHub ได้อย่างไร
ฉันมีรหัสใน Eclipse ที่ฉันต้องการอัปโหลดไปยัง GitHub แต่จนถึงตอนนี้ฉันยังหาวิธีไม่ได้ มันขึ้นว่า "สร้างที่เก็บ" แต่ดูเหมือนโฟลเดอร์ที่เก็บโปรเจ็กต์ของคุณมากกว่าและฉันไม่แน่ใจว่าจะอัปโหลดโค้ดของฉันไปยังมันได้อย่างไร ขออภัยสำหรับคำถามที่ดูเหมือนโง่ นอกจากนี้หนึ่งจะลบที่เก็บได้อย่างไร ไม่เห็นวิธีทำเช่นนั้น
90 java  eclipse  git  github 

5
ได้รับ "fatal: not a git repository:". "" เมื่อใช้ post-update hook เพื่อเรียกใช้งาน 'git pull' บน repo อื่น
ฉันเพิ่งเริ่มคอมไพล์ดังนั้นฉันขอโทษ (และโปรดแก้ไขฉันด้วย) หากฉันใช้คำศัพท์ผิด ๆ ที่นี่ แต่ฉันจะพยายามอย่างดีที่สุด ฉันกำลังพยายามตั้งค่า repo git (ฮับ) และไซต์การพัฒนาที่ทำงานได้ (ไพรม์) บนเว็บเซิร์ฟเวอร์ ฉันได้พยายามที่รูปแบบมันหลังจากที่บทความนี้ ฉันต้องการให้สำเนาการทำงานของการพัฒนาอัปเดตเมื่อใดก็ตามที่ฮับ repo ถูกผลักไปที่ ฉันรู้สึกว่าตะขอที่เหมาะสมสำหรับสิ่งนี้คือpost-updateสิ่งที่ฉันสร้างขึ้น: #!/bin/sh whoami cd /path/to/working-copy/ RET=`git pull` echo $RET อัปเดต เมื่อฉันพุชการเปลี่ยนแปลงจาก repo ในเครื่องไปยังฮับเปล่าฉันจะได้ผลลัพธ์ต่อไปนี้จากสคริปต์หลังการอัปเดต: remote: sites remote: fatal: Not a git repository: '.' อย่างไรก็ตามหากฉัน SSH เข้าสู่เซิร์ฟเวอร์ในฐานะ 'ไซต์' ของผู้ใช้และเรียกใช้สคริปต์นี้ด้วยตนเองมันใช้งานได้ดีมีความคิดใด ๆ เกี่ยวกับสิ่งที่อาจเกิดขึ้นกับตะขอหรือสคริปต์นี้
90 git  githooks 

3
พุชการเปลี่ยนแปลงคอมไพล์ไปยังไดรฟ์เครือข่ายที่แชร์
ทีมสี่คนจะใช้ Git (โดยเฉพาะGithub สำหรับ Windows ) เพื่อพุชการเปลี่ยนแปลงภายในไปยังไดรฟ์เครือข่ายที่แชร์ได้อย่างไร ตอนนี้ (ไม่มี Git) เราต้องคัดลอกไฟล์จากไดรฟ์เครือข่ายไปยังเครื่องภายในของเราแก้ไขไฟล์แล้วอัปโหลดใหม่ไปยังไดรฟ์เครือข่ายที่แชร์ นี่เป็นกระบวนการที่ต้องใช้ความพยายามซึ่งอาจนำไปสู่ข้อผิดพลาดมากมาย แต่ดูเหมือนว่า Git จะช่วยเราได้บ้าง เราสามารถติดตั้ง Git บนไดรฟ์ที่แชร์แล้วไปจากที่นั่นได้ไหม
90 git  networking  push  shared  drive 

6
.gitignore Syntax: bin vs bin / กับ bin / * เทียบกับ bin / **
ความแตกต่างระหว่างการเพิ่มbin, bin/, bin/*และbin/**ในแฟ้ม .gitignore ของฉันได้อย่างไร ฉันใช้bin/แต่ดูไฟล์. gitignore อื่น ๆ (ในไฟล์ eclipseดาวคู่และดาวเดียวยังใช้ร่วมกันเช่นนี้เกิดอะไรขึ้น?) ฉันเห็นว่าสองรูปแบบแรกก็ใช้กันอย่างแพร่หลายเช่นกัน ใครช่วยอธิบายความแตกต่างระหว่างทั้งสามได้ไหมtmp/**/*
90 git 

9
จะลบวัตถุที่ไม่ได้ใช้ออกจากที่เก็บ git ได้อย่างไร?
ฉันเพิ่มมุ่งมั่นและผลักดันไฟล์ไบนารีขนาดใหญ่โดยไม่ได้ตั้งใจด้วยการกระทำล่าสุดของฉันไปยังที่เก็บ Git ฉันจะทำให้ Git ลบอ็อบเจ็กต์ที่ถูกสร้างขึ้นสำหรับคอมมิตนั้นได้อย่างไรเพื่อให้.gitไดเร็กทอรีของฉันหดตัวเป็นขนาดที่เหมาะสมอีกครั้ง แก้ไข : ขอบคุณสำหรับคำตอบ; ฉันลองวิธีแก้ปัญหาหลายอย่าง ไม่มีผล ตัวอย่างเช่นไฟล์จาก GitHub ลบไฟล์ออกจากประวัติ แต่.gitขนาดไดเร็กทอรีไม่ลดลง: $ BADFILES=$(find test_data -type f -exec echo -n "'{}' " \;) $ git filter-branch --index-filter "git rm -rf --cached --ignore-unmatch $BADFILES" HEAD Rewrite 14ed3f41474f0a2f624a440e5a106c2768edb67b (66/66) rm 'test_data/images/001.jpg' [...snip...] rm 'test_data/images/281.jpg' Ref 'refs/heads/master' was rewritten $ git …
90 git  file  object  binary 

8
Git Pull เป็นไปไม่ได้ไฟล์ที่ไม่ได้ผสาน
ฉันได้อ่านคำถามที่คล้ายกันทั้งหมดเกี่ยวกับเรื่องนี้ ดูเหมือนว่าสิ่งต่อไปนี้ไม่ได้ผล: Delete offending files git reset --hard HEAD git stash git pull เกือบทุกชุดค่าผสมการซ่อนการเปลี่ยนแปลงและการดึงจากที่เก็บทำให้เกิดไฟล์ที่ไม่สามารถผสานรวมได้ ฉันต้องการยกเลิกการเปลี่ยนแปลงในเครื่องทั้งหมดและใช้รีโมต แต่ฉันไม่สามารถโคลนได้อีก (ข้อ จำกัด แบนด์วิดท์และการใช้งานอินเทอร์เน็ตที่นักพัฒนาพยายามทำเช่นนี้) ฉันต้องทำอย่างไร เพิ่งลอง: git stash git pull ยังไม่ได้ผล ข้อมูลเพิ่มเติม มีการกระทำในท้องถิ่นหนึ่งรายการและต้นน้ำก็มีการกระทำเช่นกัน ฉันได้ลองแล้วgit pull --rebaseแต่ก็ยังทำงานไม่ถูกต้อง ... นั่นทำให้ฉันมีข้อผิดพลาด - "ออกเนื่องจากความขัดแย้งที่ยังไม่ได้แก้ไข" ถ้าทำgit stash, git reset --hard HEAD, git pull --rebaseฉันได้รับข้อผิดพลาด "ดึงไม่ได้การเปลี่ยนแปลงที่ไม่ได้ผสาน ... "
90 git 

2
Git Gui: ได้รับอย่างต่อเนื่อง "ปัจจุบันที่เก็บนี้มีวัตถุหลวม ๆ ประมาณ 320 ชิ้น"
ทุกครั้งที่เริ่ม Git Gui ในโครงการใดโครงการหนึ่งฉันจะได้รับข้อความนี้: ปัจจุบันที่เก็บนี้มีวัตถุหลวมประมาณ 320 ชิ้น จากนั้นคลิกใช่และฉันได้รับข้อความนี้: สิ่งนี้คือเมื่อฉันเปิด Git Gui อีกครั้งฉันได้รับข้อความเดียวกันทั้งหมดอีกครั้งเกี่ยวกับวัตถุหลวม ๆ 320 ชิ้น! เหมือนกับว่าการคลิกใช่จะไม่มีผลเลย
90 git  git-gui 

5
Escape @ character ในรหัสผ่าน git proxy
ฉันมี git proxy config เป็น 'http.proxy = http: // userId: pwd @ 123 @ipaddress: port' แต่ในขณะที่โคลนโปรเจ็กต์ระยะไกลฉันได้รับข้อผิดพลาดเนื่องจาก Cloning into git... error: Couldn't resolve proxy '123@ipaddress' while accessing http://git.kernel.org/pub/scm/git/git.git/info/refs fatal: HTTP request failed จะหนีอักขระ '@' ในรหัสผ่านได้อย่างไร? โปรดทราบ: ฉันไม่สามารถเปลี่ยนรหัสผ่านได้
90 git  msysgit 

2
Git ดึงสาขาจากที่เก็บอื่นหรือไม่
ฉันมีที่เก็บ git ในเครื่องซึ่งเป็นโคลนของที่เก็บบน github มีคนแยกที่เก็บและทำการเปลี่ยนแปลงในสาขาใหม่ในที่เก็บใหม่ ฉันต้องการย้ายสาขาใหม่นี้ไปยังที่เก็บของฉัน (ในเครื่องเพื่อทำงานกับสาขานี้ก่อนที่จะรวมกับหลัก) ฉันพยายามสร้างสาขาใหม่แล้วดึงจากที่เก็บที่แยกออกมา แต่มันก็บ่นเพราะสาขาใหม่เป็นสำเนาของสาขาหลักเช่นเดียวกับการเปลี่ยนแปลงไฟล์ในเครื่องดังนั้นจึงบอกว่า error: Your local changes to the following files would be overwritten by merge. ดังนั้นฉันจะดึงสาขาในที่เก็บอื่นไปยังสาขาใหม่บนที่เก็บในเครื่องของฉันได้อย่างไร ฉันหวังว่ามันจะสมเหตุสมผล ถ้าไม่ใช่นี่คือที่เก็บของฉัน: https://github.com/MatthewLM/cbitcoin อย่างที่คุณเห็นมีคนสร้างที่เก็บใหม่ด้วยสาขา "linuxBuild": https://github.com/austonst/cbitcoin/tree/linuxBuild ฉันต้องการสาขานั้นในพื้นที่เก็บข้อมูลท้องถิ่นของฉันสำหรับ MatthewLM / cbitcoin ฉันจะทำเช่นนี้ได้อย่างไร?
90 git  github  git-branch 

5
เวลาที่เหมาะสมในการลบสาขาฟีเจอร์คอมไพล์คือเมื่อใด
ฉันไม่ต้องการที่จะลงเอยด้วยสาขาคุณลักษณะ 82 สาขาที่ห้อยอยู่รอบ ๆดังนั้นฉันจึงสงสัยว่าข้อเสียที่อาจเกิดขึ้นคืออะไรเพียงแค่ลบสาขาคุณลักษณะทันทีที่ฉันรวมเข้าด้วยกัน เวิร์กโฟลว์: git co -b feat-xyz hack hack git ci hack some more git ci git co master git merge feat-xyz smoke test git br -d feat-xyz ปัญหาใด ๆ ที่นี่?

5
Git: 1. แสดงรายการไฟล์ทั้งหมดในสาขา 2. เปรียบเทียบไฟล์จากสาขาอื่น
มองหาคำสั่งเช่นls -Rหรือdir/sที่สามารถแสดงรายการไฟล์ทั้งหมดในคอมมิต / สาขา มีคำสั่งใดที่สามารถเปรียบเทียบไฟล์สองไฟล์จากสาขาต่างๆได้หรือไม่?
90 git 

5
เพิ่มโฟลเดอร์เฉพาะที่สร้างขึ้นใหม่ไปยัง. gitignore ใน Git
ฉันมีไดเร็กทอรีการทำงานที่สะอาดและนำมาในโคลนจาก Git repo เมื่อคืนที่ผ่านมา แต่ตอนนี้เซิร์ฟเวอร์ภายในของฉันสร้างและมีโฟลเดอร์สถิติที่ฉันต้องการละเว้น ดูเหมือนว่าฉันไม่สามารถทำให้ Git เพิกเฉยต่อโฟลเดอร์นี้ได้เมื่อเรียกใช้สถานะคอมไพล์ On branch master Your branch is ahead of 'origin/master' by 1 commit. Changes to be committed: (use "git reset HEAD <file>..." to unstage) new file: app_public/views/pages/privacy.php new file: app_public/views/pages/terms.php new file: public_html/stats/ctry_usage_200908.png new file: public_html/stats/daily_usage_200908.png new file: public_html/stats/dns_cache.db new file: public_html/stats/hourly_usage_200908.png new …
90 git  gitignore 

6
ฉันจะทำให้ที่เก็บในเครื่องของฉันพร้อมใช้งานสำหรับ git-pull ได้อย่างไร
ฉันมีที่เก็บสำเนาที่ใช้งานได้ซึ่งฉันใช้งานได้โดยไม่มีปัญหา ต้นกำเนิดของที่เก็บนี้อยู่บน GitHub ฉันต้องการให้ที่เก็บสำเนาที่ใช้งานได้เป็นจุดเริ่มต้นสำหรับเครื่องสร้างของฉัน (VM บนโฮสต์ทางกายภาพอื่น) เพื่อที่ฉันจะสร้างและทดสอบสำเนาการทำงานของฉันบนเครื่องสร้างโดยไม่ต้องผ่าน GitHub ก่อน ฉันมีบิวด์สำหรับที่เก็บ GitHub อยู่แล้ว แต่ฉันอยากให้นี่เป็นที่เก็บ / บิลด์ "ทอง" กล่าวคือหากมีบางสิ่งเกิดขึ้นที่นั่นการสร้างที่ต่อต้าน GitHub ควรได้รับการรับรองว่าจะผ่าน ฉันได้ดูเอกสารเกี่ยวกับ Git URL และพบว่ามีตัวเลือกในการใช้ URL ในรูปแบบgit://host.xz[:port]/path/to/repo.git/(ดูเช่นเอกสาร git-clone ) ฉันต้องการทำสิ่งนี้ด้วยวิธีที่ง่ายที่สุดโดยมีการกำหนดค่าขั้นต่ำ: ฉันไม่ต้องการที่จะต้องตั้งค่า SSH daemon หรือเว็บเซิร์ฟเวอร์เพียงเพื่อเผยแพร่สิ่งนี้ไปยังเครื่องบิลด์ของฉัน ฉันใช้ Windows 7 x64 RC ฉันติดตั้ง MSysGit และ TortoiseGit แล้วและฉันได้เปิดพอร์ตเริ่มต้นของ Git (9814) บนไฟร์วอลล์ กรุณาถือว่าทำงานสำเนา repo ที่และชื่อโฮสต์คือD:\Visual Studio Projects\MyGitRepo …

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