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

Git เป็นระบบควบคุมเวอร์ชันฟรีและโอเพนซอร์สที่ออกแบบมาเพื่อจัดการทุกอย่างตั้งแต่โครงการขนาดเล็กไปจนถึงขนาดใหญ่มากด้วยความเร็วและประสิทธิภาพ

9
จะทำให้ colorize output ของ git เป็นอย่างไร?
มีวิธีการออกสีสำหรับ git (หรือคำสั่งใด ๆ )? พิจารณา: baller@Laptop:~/rails/spunky-monkey$ git status # On branch new-message-types # Changes not staged for commit: # (use "git add <file>..." to update what will be committed) # (use "git checkout -- <file>..." to discard changes in working directory) # # modified: app/models/message_type.rb # no changes added …
255 bash  colors  git 

5
ฉันจะอัปเดตเป็น Git รุ่นใหม่โดยใช้ apt-get ได้อย่างไร
ฉันเพิ่งตั้งค่าเครื่องใหม่ด้วย Ubuntu Oneiric 11.10 แล้วเรียกใช้ apt-get update apt-get upgrade apt-get install git ตอนนี้ถ้าฉันเรียกใช้git --versionมันบอกฉันว่าฉันมีgit version 1.7.5.4แต่ในเครื่องท้องถิ่นของฉันฉันมีรุ่นใหม่กว่ามากgit version 1.7.9.2 ฉันรู้ว่าฉันสามารถติดตั้งจากแหล่งที่มาเพื่อรับเวอร์ชันใหม่ล่าสุด แต่ฉันคิดว่ามันเป็นความคิดที่ดีที่จะใช้ตัวจัดการแพคเกจให้มากที่สุดเพื่อให้ทุกอย่างเป็นมาตรฐาน ดังนั้นจึงเป็นไปได้ที่จะใช้apt-getเพื่อรับรุ่นที่ใหม่กว่าgitและวิธีที่เหมาะสมในการทำคืออะไร?
155 ubuntu  apt  upgrade  git 

8
GUI สำหรับ GIT คล้ายกับ SourceTree
มีซอฟต์แวร์ที่คล้ายกับSourceTreeซึ่งเป็น GUI สำหรับ git สำหรับ Linux หรือไม่ ฉันรู้เกี่ยวกับ Giggle, git cola และอื่น ๆ ฉันกำลังมองหา GUI ที่สวยงามและใช้งานง่ายสำหรับ git
133 software-rec  git  gui 

3
ตรวจสอบว่าไดเรกทอรีทำงาน Git สะอาดจากสคริปต์
ฉันมีสคริปต์ที่ทำงานrsyncกับไดเรกทอรีการทำงานของ Git เป็นปลายทาง ฉันต้องการให้สคริปต์มีพฤติกรรมที่แตกต่างกันไปขึ้นอยู่กับว่าไดเรกทอรีทำงานนั้นสะอาด (ไม่มีการเปลี่ยนแปลงที่จะกระทำ) หรือไม่ ตัวอย่างเช่นหากผลลัพธ์ของgit statusด้านล่างเป็นฉันต้องการสคริปต์เพื่อออก: git status Already up-to-date. # On branch master nothing to commit (working directory clean) Everything up-to-date หากไดเรกทอรีไม่สะอาดฉันก็อยากให้มันรันคำสั่งเพิ่มเติม ฉันจะตรวจสอบเอาต์พุตเช่นด้านบนในเชลล์สคริปต์ได้อย่างไร
82 shell-script  git 

8
เคล็ดลับสำหรับการวาง ~ ภายใต้การควบคุมของแหล่งที่มา
ฉันต้องการวางโฮมไดเร็กตอรี่ของฉัน (~) ภายใต้การควบคุมของแหล่งที่มา (git, ในกรณีนี้), เนื่องจากฉันมีไฟล์การตั้งค่ามากมาย (.gitconfig, .gitignore, .emacs, ฯลฯ ) ที่นั่นฉันอยากจะพกพาข้ามเครื่อง และการมี Git จะทำให้การดึงพวกเขาดีขึ้น เครื่องหลักของฉันคือ MacBook ของฉันและวิธีการตั้งค่า OS X มีหลายโฟลเดอร์ที่ฉันต้องการข้าม (เอกสาร, ดาวน์โหลด, .ssh) นอกจากนี้ยังมีโฟลเดอร์ที่ใช้ Git (.emacs.d) อยู่แล้ว ความคิดของฉันคือการเพิ่มไดเรกทอรีเหล่านี้ทั้งหมดไปยังไฟล์. gitignore ของฉัน แต่ดูเหมือนว่าจะน่าเบื่อและอาจทำให้เกิดผลที่คาดไม่ถึง ความคิดต่อไปของฉันคือการคัดลอกไฟล์ที่ฉันต้องการจัดเก็บลงในโฟลเดอร์บางโฟลเดอร์ในบ้านเป็นระยะ ๆ จากนั้นส่งมอบโฟลเดอร์นั้น ปัญหาที่เกิดขึ้นคือฉันต้องจำให้ย้ายพวกเขาก่อนที่จะกระทำ มีวิธีที่สะอาดในการทำเช่นนี้หรือไม่?

9
คอมไพล์ดึงจากระยะไกล แต่ไม่มีการเรียกอ้างอิงดังกล่าว
ฉันมีกระจกคอมไพล์ในดิสก์ของฉันและเมื่อฉันต้องการอัปเดต repo ด้วย git pull มันทำให้ฉันเกิดข้อผิดพลาด: Your configuration specifies to merge with the ref '3.5/master' from the remote, but no such ref was fetched. มันยังให้ฉัน: 1ce6dac..a5ab7de 3.4/bfq -> origin/3.4/bfq fa52ab1..f5d387e 3.4/master -> origin/3.4/master 398cc33..1c3000a 3.4/upstream-updates -> origin/3.4/upstream-updates d01630e..6b612f7 3.7/master -> origin/3.7/master 491e78a..f49f47f 3.7/misc -> origin/3.7/misc 5b7be63..356d8c6 3.7/upstream-updates -> origin/3.7/upstream-updates 636753a..027c1f3 …
69 git 

5
การสร้างผู้ใช้โดยไม่มีรหัสผ่าน
ฉันกำลังพยายามสร้างผู้ใช้ที่ไม่มีรหัสผ่านเช่นนี้: sudo adduser \ --system \ --shell /bin/bash \ --gecos ‘User for managing of git version control’ \ --group \ --disabled-password \ --home /home/git \ git มันสร้างได้ดี แต่เมื่อฉันพยายามเข้าสู่ระบบภายใต้ผู้ใช้คอมไพล์ฉันได้รับรหัสผ่าน: su git Password:... เมื่อฉันปล่อยให้มันว่างเปล่าฉันได้รับข้อผิดพลาด: su: Authentication failed เกิดอะไรขึ้น

4
`git pull` กินการบ้านของฉันอย่างไร
ฉันรู้สึกเหมือนเด็กในสำนักงานใหญ่อธิบายว่าสุนัขกินการบ้านของฉันในคืนก่อนที่จะถึงกำหนด แต่ฉันกำลังดูข้อผิดพลาดการสูญเสียข้อมูลบางอย่างที่บ้าในหน้าและฉันไม่สามารถเข้าใจได้ว่ามันเกิดขึ้นได้อย่างไร ฉันอยากรู้ว่าคอมไพล์กินพื้นที่เก็บข้อมูลของฉันได้อย่างไร! ฉันใส่คอมไพล์ผ่านนักเขียนหลาย ๆ ครั้งและมันก็ไม่เคยกระพริบ ฉันเคยใช้มันเพื่อแบ่ง repo 20 Gig Subversion ออกเป็น 27 repos git และกรองตัว foo ออกจากพวกมันเพื่อแก้ปัญหายุ่งเหยิงและมันก็ไม่เคยสูญเสียไบต์บนฉัน reflog อยู่ที่นั่นเสมอเพื่อถอยกลับ คราวนี้พรมหมดแล้ว! จากมุมมองของฉันสิ่งที่ฉันทำก็คือการเรียกใช้git pullและมันทำให้พื้นที่เก็บข้อมูลในเครื่องของฉันหมด ฉันไม่ได้หมายความว่า "ทำให้สับสนรุ่นที่เช็คเอาต์" หรือ "สาขาที่ฉันไป" หรืออะไรทำนองนั้น ผมหมายถึงสิ่งทั้งหมดจะหายไป นี่คือภาพหน้าจอของเทอร์มินัลของฉันในเหตุการณ์: ให้ฉันแนะนำคุณผ่านสิ่งนั้น พรอมต์คำสั่งของฉันมีข้อมูลเกี่ยวกับ repo git ปัจจุบัน (โดยใช้การนำ vcs_info ของ prezto) เพื่อให้คุณสามารถดูว่า git repo หายไปเมื่อใด คำสั่งแรกนั้นปกติพอ: » caleb » jaguar » ~/p/w/incil.info …

2
Git submodule แสดงการกระทำใหม่สถานะ submodule จะไม่ทำอะไรเลย
ในที่เก็บ git ฉันได้ตั้งค่าไฟล์. gitmodules ของฉันเพื่ออ้างอิงที่เก็บ github: [submodule "src/repo"] path = src/repo url = repourl เมื่อฉัน 'สถานะคอมไพล์' ใน repo นี้มันแสดง: On branch master Your branch is up-to-date with 'origin/master'. Changes not staged for commit: (use "git add <file>..." to update what will be committed) (use "git checkout -- <file>..." to discard …
47 git 

3
git diff แสดงสีไม่ถูกต้อง
ในการรับเอาต์พุตสีจากคำสั่ง git ทั้งหมดฉันได้ตั้งค่าต่อไปนี้: git config --global color.ui true แต่นี้ผลิตออกเช่นนี้สำหรับgit diff,git log ในขณะที่คำสั่งเช่นgit statusปรับการแสดงผล เหตุใดจึงไม่รู้จักรหัสสีที่ใช้ Escape ในคำสั่งบางคำสั่งเท่านั้นและฉันจะแก้ไขได้อย่างไร ฉันใช้ iTerm 2 (ประเภทเทอร์มินัลxterm-256color) บน OS X 10.8.2 และ zsh เป็นเชลล์ของฉัน zsh --version zsh 5.0.0 (x86_64-apple-darwin12.0.0) git --version git version 1.7.9.6 (Apple Git-31.1)
46 osx  colors  git  pager 

2
วิธีใช้ rsync เพื่อสำรองข้อมูลไดเรกทอรีที่ไม่มีไดเรกทอรีย่อย git
ฉันต้องการคัดลอกcไดเรกทอรีของฉันด้วยไดเรกทอรีย่อยทั้งหมดยกเว้น./gitไดเรกทอรีย่อย ฉันใช้มันrsync: echo "copy c and sh files " rsync -a --include='*.c' --include='*.sh' --include='*/' --exclude='*' ~/c/ ~/Dropbox/Public/c # remove .git directory = do not send it to dropbox. Thx to Tomasz Sowa rm -rf ~/Dropbox/Public/c/.git ฉันทำได้ดีกว่าไหม
43 rsync  git  dropbox 

8
มีข้อผิดพลาดในการวาง $ HOME ในคอมไพล์แทนที่จะเชื่อมโยง dotfiles หรือไม่?
ฉันใช้เวลาหลายปีใน$HOMEการตรวจสอบไดเรกทอรีทั้งหมดของฉัน สิ่งนี้ได้รวม dotfiles และโปรไฟล์แอปพลิเคชันทั้งหมดของฉัน, สคริปต์, เครื่องมือและแฮ็กจำนวนมาก, โครงสร้างโฮมไดเร็กตอรี่พื้นฐานที่ฉันต้องการ, ไม่ใช่โครงการคี่บอลสองสามตัวและคลังเก็บข้อมูลแบบสุ่ม นี่เป็นสิ่งที่ดี ในขณะที่มันกินเวลา แต่มันหลุดมือไปแล้ว การชำระเงินพื้นฐานเหมือนกันในหลาย ๆ ระบบ แต่ไม่ใช่ทุกอย่างที่เหมาะสมสำหรับเครื่องของฉัน มันไม่ได้เล่นด้วย distros ที่แตกต่างกัน ฉันกำลังอยู่ในขั้นตอนการทำความสะอาดบ้าน - แยกข้อมูลออกจากที่ที่มันเป็นอยู่โดยแยกสคริปต์บางส่วนออกเป็นโปรเจ็กต์แยกกันแก้ไขลิงก์ที่เสียหายบางอย่างในสิ่งที่ควรเป็นแบบอัตโนมัติ ฯลฯ ความตั้งใจของฉันคือการแทนที่subversionด้วยgitการชำระเงินระดับ$HOMEสูง แต่ฉันต้องการตัดสิ่งนี้ลงไปเป็นสิ่งที่ฉันต้องการในทุกระบบของฉันหมายถึง dotfiles ไดเรกทอรีบางตัวและสคริปต์พื้นฐานที่กำหนดเองบางส่วน ในการอ่านออนไลน์ผู้คนจำนวนมากดูเหมือนจะทำสิ่งนี้โดยใช้วิธี symlink: โคลนเข้าไปในไดเรกทอรีย่อยจากนั้นสร้าง symlink จาก$HOMEในที่เก็บ หลังจากมี$HOMEเวอร์ชันเต็มของฉันภายใต้การควบคุมมานานกว่าทศวรรษฉันไม่ชอบแนวคิดของ aproach นี้และฉันไม่สามารถเข้าใจได้ว่าทำไมผู้คนถึงเกลียดชังวิธีชำระเงินตรงๆ มีข้อผิดพลาดที่ฉันต้องรู้เกี่ยวกับgitการชำระเงินระดับบนสุดโดยเฉพาะ$HOMEหรือไม่ ป.ล. ส่วนหนึ่งเป็นการออกกำลังกายด้วยการเขียนโปรแกรมที่ดีฉันยังวางแผนที่จะทำให้การชำระเงินรูทของฉันเป็นแบบสาธารณะบน GitHub มันน่ากลัวว่าข้อมูลความปลอดภัยที่ฉันได้รับอนุญาตให้รวบรวมในไฟล์ที่ควรจะแชร์ได้นั้นน่ากลัวแค่ไหนโดยไม่ต้องคิดอีกเลย! รหัสผ่าน WiFi, คีย์ RSA ที่ไม่ผ่านวลี ฯลฯ Eeek!


2
วิธีลบไฟล์ออกจากดัชนี git
ฉันจะลบไฟล์ออกจากดัชนี git repositorie โดยไม่ลบไฟล์จากแผนผังการทำงานได้อย่างไร ถ้าผมมีไฟล์ที่ถูกติดตามโดยคอมไพล์ผมสามารถเรียกใช้./notes.txt git rm notes.txtแต่นั่นจะเป็นการลบไฟล์ ฉันต้องการให้คอมไพล์หยุดการติดตามไฟล์แทน
33 git 

1
git-upload-pack แฮงค์ไปเรื่อย ๆ
ฉันมีโครงสร้างการโทรต่อไปนี้: fab -Huser@host set_repository_commit_hash:123abcวิ่งเจนกินส์ set_repository_commit_hashวิ่งด้วยgit fetchpty = False กระบวนการเด็กssh git@github.com git-upload-pack 'user/repository.git'ไม่เคยเสร็จสิ้น ฉันได้ลองใช้งานgit fetchในรูปแบบโลคัลแล้ว แต่ก็ประสบความสำเร็จ แต่การรันssh git@github.com git-upload-pack 'user/repository.git'ก็แค่คืนค่าดังต่อไปนี้และแขวน: 00ab84249d3bb20930c185c08848c60b71f7b28990d6 HEADmulti_ack thin-pack side-band side-band-64k ofs-delta shallow no-progress include-tag multi_ack_detailed agent=git/1.8.4 0041cb34b1c8ca75d478df38c794fc15c5f01cc6377e refs/heads/branch_name 004012577068adf47015001bfa0cff9386d6cdf497ce refs/heads/[...] 003f84249d3bb20930c185c08848c60b71f7b28990d6 refs/heads/master [a couple more lines like the ones above, then:] 0000 นี่เป็นปัญหาของ SSH / Git …
30 ssh  git  jenkins 

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