Git Cola เป็น GIT GUI ที่ทรงพลังพร้อมส่วนต่อประสานผู้ใช้ที่เรียบและใช้งานง่าย
git clone https://github.com/git-cola/git-cola.git

ภาพหน้าจอ
การดาวน์โหลด
แป้นพิมพ์ลัด
เอกสาร HTML
เอกสาร Git Cola
เอกสาร Git DAG
แนวทางการสนับสนุน
Git 2.2.0 หรือใหม่กว่า
Python 3.6 หรือใหม่กว่า
QTPY 2.0.0 หรือใหม่กว่า
Git Cola ใช้ QTPY ดังนั้นคุณสามารถเลือกระหว่าง PYQT6, PYQT5 และ PYSIDE2 โดยการตั้งค่าตัวแปรสภาพแวดล้อม QT_API เป็น pyqt6 , pyqt5 หรือ pyside2 ตามที่ต้องการ qtpy ค่าเริ่มต้นเป็น pyqt5 และกลับไปที่ pyqt6 และ pyside2 หากไม่ได้ติดตั้ง pyqt5
ต้องติดตั้งไลบรารี Python QT ต่อไปนี้:
ต้องใช้ PYQT5 / PYQT6 5.9 หรือใหม่กว่า QT 6.2 หรือใหม่กว่ายังรองรับผ่าน QTPY
Pyside2 5.12.0 หรือใหม่กว่า
Git Cola เปิดใช้งานคุณสมบัติเพิ่มเติมเมื่อติดตั้งโมดูล Python ต่อไปนี้
Send2trash เปิดใช้งานฟังก์ชั่น cross-platform "Send to Trash" (แหล่งที่มา)
แจ้งเตือน 2 ช่วยให้การส่งการแจ้งเตือนเดสก์ท็อป (แหล่งที่มา)
PYOBJC เปิดใช้งานธีมแอปพลิเคชันเฉพาะ MACOS บน MacOS (แหล่งที่มา)
มีหลายวิธีในการติดตั้ง Git Cola แต่คุณไม่จำเป็นต้อง "ติดตั้ง" Git Cola เพื่อเรียกใช้
Git Cola ได้รับการออกแบบให้ทำงานโดยตรงจากต้นไม้ต้นฉบับ การติดตั้งเป็นทางเลือก
วิธีการที่แนะนำสำหรับการรันเวอร์ชัน Git Cola ล่าสุดคือการติดตั้งการพึ่งพา PYQT โดยใช้ตัวจัดการแพ็คเกจการแจกจ่ายของคุณจากนั้นเรียกใช้ ./bin/git-cola git-cola โดยตรงจากแหล่งที่มา
Git Cola ทำงานร่วมกับ PYQT5 หรือ PYQT6 เพราะใช้ไลบรารี QTPY สำหรับความเข้ากันได้ของ PYQT
ผู้ใช้ในเวอร์ชัน Debian/Ubuntu รุ่นใหม่สามารถติดตั้งแพ็คเกจเดียวเพื่อเรียกใช้จากแหล่งที่มา
sudo apt install python3-qtpy หากคุณอยู่ในเวอร์ชันเก่าที่ไม่มี python3-qtpy คุณสามารถติดตั้งแพ็คเกจต่อไปนี้ได้โดยตรง
sudo apt install python3-pyqt5 python3-pyqt5.qtopengl python3-pyqt5.qtwebengine python3-pyqt5.qtsvgหากคุณต้องการใช้ Git Cola กับระบบนิเวศ PYQT6 ที่ใหม่กว่าคุณสามารถติดตั้งแพ็คเกจเหล่านี้แทน PYQT5
sudo apt install python3-pyqt6 python3-pyqt6.qtsvg python3-pyqt6.qtwebengine ณ จุดนี้คุณควรจะสามารถเปิดตัวได้ ./bin/git-cola git-cola จากต้นฉบับและไม่มีอะไรให้ทำอีกแล้ว
คำแนะนำเพิ่มเติมด้านล่างรายละเอียดวิธีการติดตั้ง Git Cola จาก PYPI หรือวิธีการติดตั้งลงในตำแหน่งที่แยกออกจากแผนผังต้นทาง
Linux คือ! distro ของคุณอาจบรรจุ git-cola แล้ว ถ้าไม่โปรดยื่นข้อผิดพลาดกับการแจกจ่ายของคุณ ;-)
มีอยู่ใน AUR
apt install git-cola
dnf install git-cola
emerge git-cola
zypper install git-cola
มีอยู่ใน slackbuilds.org
ดูที่นี่สำหรับเวอร์ชันที่มีอยู่ในที่เก็บของ Ubuntu
# Install from official binary packages
pkg install -r FreeBSD devel/git-cola
# Build from source
cd /usr/ports/devel/git-cola && make clean install
สำคัญ : อย่าเรียกใช้ pip install หรือ garden install นอก Python Virtualenv หรือเป็นราก!
สำคัญ : หากคุณอยู่ในการแจกแจง Linux ที่ PYQT6 หรือ PYQT5 พร้อมใช้งานจากตัวจัดการแพ็คเกจของคุณขอแนะนำให้ติดตั้งการพึ่งพาเหล่านั้นโดยใช้ตัวจัดการแพ็คเกจของระบบของคุณ ดูส่วนด้านบนสำหรับรายละเอียด
วิธีหนึ่งในการติดตั้งเวอร์ชันล่าสุดที่เผยแพร่คือการใช้ venv (VirtualEnV) และ pip สิ่งนี้ติดตั้ง git-cola จาก pypi.org
python3 -m venv --system-site-packages env3
./env3/bin/pip install git-cola
./env3/bin/git-cola
เพิ่มไดเรกทอรี env3/bin ไปยัง PATH หรือ Symlink ของคุณไปยัง bin/git-cola จากที่ไหนสักแห่งใน PATH ของคุณเช่น ~/.local/bin/git-cola และคุณสามารถเปิด Git Cola ได้เช่นเดียวกับคำสั่ง git ในตัวอื่น ๆ :
git cola
git dag
หากคุณไม่ได้ติดตั้ง PYQT วิธีที่ง่ายที่สุดในการรับคือใช้ Python Virtualenv และติดตั้ง Git Cola ลงในโหมด "แก้ไขได้"
วิธีการติดตั้งนี้ช่วยให้คุณอัพเกรด Git Cola โดยใช้ git pull
# Create a virtualenv called "env3" and activate it.
python3 -m venv --system-site-packages env3
# Install PyQt and (optional) extra packages to enable all features.
./env3/bin/pip install --editable '.[extras,pyqt6]'
# Run Git Cola via the "git-cola" Git subcommand.
source env3/bin/activate
git cola
หากคุณเพิ่ม env3/bin (หรือ symlink ไปยัง env3/bin/git-cola ) ที่ไหนสักแห่งใน $PATH ของคุณคุณสามารถเรียกใช้ git cola ราวกับว่ามันเป็นคำสั่ง git ในตัวจากด้านนอกของ Virtualenv (เช่นหลังจากทำงาน "ปิดการใช้งาน" หรือเมื่อเปิดเปลือกใหม่)
Running garden -D prefix=$HOME/.local install จะติดตั้ง git cola ในไดเรกทอรี $HOME/.local ของคุณ ( $HOME/.local/bin/git-cola , $HOME/.local/lib ฯลฯ )
วิธีการติดตั้งนี้ถือว่าการพึ่งพา qtpy และ PyQt* ได้รับการติดตั้งไว้ล่วงหน้า
สูตรสวนยังรองรับ DESTDIR เพื่อสนับสนุนการสร้างแพ็คเกจสำหรับผู้จัดการแพ็คเกจ Linux:
garden -D DESTDIR=/tmp/stage -D prefix=/usr/local install
หากคุณไม่มี garden ให้ใช้งาน make ใช้แทนได้ Makefile รองรับการติดตั้งฉากโดยใช้ตัวแปร destdir และคำนำหน้าทั่วไป
make DESTDIR=/tmp/stage prefix=/usr/local install
สำหรับผู้ใช้ปลายทางส่วนใหญ่เราแนะนำให้ใช้ Homebrew หรือติดตั้งลงใน Python Virtualenv ตามที่อธิบายไว้ข้างต้น
คุณสามารถติดตั้ง Git Cola จากแหล่งที่มาโดยใช้ขั้นตอนเดียวกับด้านบน
วิธีที่ง่ายในการติดตั้ง Git Cola คือการใช้ Homebrew ใช้ Homebrew เพื่อติดตั้งสูตร Git-Cola:
brew install git-cola
หากคุณติดตั้งโดยใช้ Homebrew คุณสามารถหยุดในขั้นตอนนี้ คุณไม่จำเป็นต้องโคลน repo หรืออะไรเลย
หากคุณติดตั้งการพึ่งพาทั้งหมดผ่าน pip หรือ brew คุณสามารถสร้าง Wrapper App Bundle ของเชลล์ git-cola.app สำหรับใช้ใน /Applications
หากคุณต้องการสร้างชุด git-cola.app สำหรับ /Applications เรียกใช้คำสั่งนี้:
garden macos/app
คุณจะต้องสร้างเครื่องห่อด้วยแอปใหม่เป็นระยะเมื่อใดก็ตามที่มีการอัพเกรด Python
การอัปเดต MacOS มักจะทำลายซอฟต์แวร์ที่จัดการกับโฮมบรูว์
หากคุณอัปเดต MacOS และ Git Cola หยุดทำงานแล้วคุณอาจต้องติดตั้งการพึ่งพาของ Git Cola อีกครั้ง
การติดตั้งใหม่จากศูนย์โดยใช้คำแนะนำด้านล่างสามารถทำให้สิ่งต่าง ๆ กลับมาเป็นรูปร่างได้
brew update
brew uninstall git-cola
brew uninstall pyqt
brew uninstall pyqt@5
brew autoremove
brew install git-cola
สำคัญหากคุณมีเครื่อง 64 บิตให้ติดตั้งรุ่น 64 บิตเท่านั้น อย่าผสมเวอร์ชัน 32 บิตและ 64 บิต
ดาวน์โหลดและติดตั้งต่อไปนี้:
git สำหรับ windows
Git Cola
เมื่อติดตั้งสิ่งเหล่านี้แล้วคุณสามารถเรียกใช้ Git Cola ได้จากเมนูเริ่มต้น
ดู "Windows (ต่อ)" ด้านล่างสำหรับรายละเอียดเพิ่มเติม
หากคุณต้องการติดตั้ง Git Cola ด้วยปีกเรียกใช้คำสั่งต่อไปนี้:
winget install git-cola.git-cola
เนื่องจากไม่มีความละเอียดการพึ่งพาคุณต้องติดตั้ง GIT ด้วย:
winget install Git.Git
Git Cola จัดส่งด้วยตัวแก้ไขการรีเบสแบบโต้ตอบที่เรียกว่า git-cola-sequence-editor git-cola-sequence-editor ใช้เพื่อจัดลำดับใหม่และเลือกการกระทำเมื่อ rebasing เริ่มต้นการรีเบสแบบโต้ตอบผ่านเมนู "Rebase" หรือผ่านคำสั่งย่อย git cola rebase เพื่อใช้ git-cola-sequence-editor :
git cola rebase @{upstream}
git-cola-sequence-editor สามารถเปิดตัวได้อย่างอิสระจาก Git Cola โดยบอกให้ git rebase ใช้เป็นตัวแก้ไขผ่านตัวแปรสภาพแวดล้อม GIT_SEQUENCE_EDITOR :
export GIT_SEQUENCE_EDITOR="$HOME/git-cola/bin/git-cola-sequence-editor"
git rebase -i @{upstream}
สคริปต์ของเชลล์เสร็จสมบูรณ์สำหรับ Bash และ ZSH แต่ละสคริปต์มีคำแนะนำเกี่ยวกับวิธีการติดตั้งและเปิดใช้งานความสำเร็จ
สคริปต์ที่สมบูรณ์แบบ
สคริปต์ความสมบูรณ์ของ ZSH
คำสั่ง git-cola เปิดเผยคำสั่งย่อยต่าง ๆ ที่ช่วยให้คุณสามารถเปิดเครื่องมือที่พร้อมใช้งานได้อย่างรวดเร็วจากภายในอินเทอร์เฟซ Git-Cola ตัวอย่างเช่น git cola find เปิดตัว File Finder และ git cola grep เปิดตัวเครื่องมือ GREP
ดู git cola --help-commands สำหรับรายการคำสั่งทั้งหมด
$ git cola --help-commands
usage: git-cola [-h]
{cola,am,archive,branch,browse,config,
dag,diff,fetch,find,grep,merge,pull,push,
rebase,remote,search,stash,tag,version}
...
valid commands:
{cola,am,archive,branch,browse,config,
dag,diff,fetch,find,grep,merge,pull,push,
rebase,remote,search,stash,tag,version}
cola start git-cola
am apply patches using "git am"
archive save an archive
branch create a branch
browse browse repository
config edit configuration
dag start git-dag
diff view diffs
fetch fetch remotes
find find files
grep grep source
merge merge branches
pull pull remote branches
push push remote branches
rebase interactive rebase
remote edit remotes
search search commits
stash stash and unstash changes
tag create tags
version print the version
หากคุณติดตั้งการพึ่งพาของ Git Cola อยู่แล้วคุณสามารถเริ่ม cola เป็นโมดูล Python ได้หากคุณมีซอร์สโค้ดที่มีอยู่
python -m cola
python -m cola dag
คำสั่งต่อไปนี้ควรทำงานในระหว่างการพัฒนา:
# Run the unit tests
$ garden test
# Run tests and doc checks
$ garden check
# Run tests against multiple python interpreters using tox
$ garden tox
ชุดทดสอบสามารถพบได้ในไดเรกทอรีทดสอบ
commits and pull คำขอจะถูกทดสอบโดยอัตโนมัติสำหรับคุณภาพของรหัสโดยใช้การกระทำของ GitHub
รูปแบบอัตโนมัติ cola/i18n/*.po ก่อนที่จะดำเนินการเมื่ออัปเดตการแปล:
$ garden po
เมื่อส่งแพทช์ให้ปรึกษาแนวทางที่มีส่วนร่วม
Git Cola ติดตั้งโมดูลลงในไดเรกทอรีไซต์ Python เริ่มต้น (เช่น lib/python3.7/site-packages ) โดยใช้ setuptools
ในขณะที่ผู้ใช้ปลายทางสามารถใช้ pip install git-cola เพื่อติดตั้ง Git Cola แพ็คเกจการแจกจ่ายควรใช้กระบวนการ garden -D prefix=/usr install สูตร Garden ของ Git Cola Wraps pip install --prefix=<prefix> เพื่อจัดเตรียมเป้าหมาย garden install ที่เป็นมิตรกับบรรจุภัณฑ์
รุ่นก่อนหน้าของ Git Cola อาจจัดส่งโดยไม่มี vcruntime140.dll และอาจไม่ทำงานบนเครื่องที่ขาด DLL นี้
หากต้องการแก้ไขปัญหานี้ให้ดาวน์โหลด Microsoft Visual C ++ 2015 REDISTUBLIBLE และติดตั้ง
Git Cola v4.0.0 และใหม่กว่ารวมถึง DLL นี้และไม่จำเป็นต้องติดตั้งสิ่งนี้แยกต่างหาก
ในการพัฒนา Git Cola บน Windows คุณจะต้องติดตั้ง Python3 และ PIP ติดตั้ง PYQT5 โดยใช้ pip install PyQt5 เพื่อให้การผูก PYQT5 พร้อมใช้งานกับ Python
เมื่อติดตั้งสิ่งเหล่านี้คุณสามารถใช้ python.exe เพื่อทำงานโดยตรงจากแผนผังต้นทาง ตัวอย่างเช่นจากเทอร์มินัล Git Bash:
/c/Python39/python.exe ./bin/git-cola
หากคุณติดตั้ง Python หลายรุ่นสคริปต์ Launcher contrib/win32/cola อาจเลือกรุ่นใหม่กว่าแทนที่จะเป็น Python ที่ติดตั้ง PYQT ในการแก้ไขปัญหานี้คุณสามารถตั้งค่าตัวแปรการกำหนดค่า cola.pythonlocation Git เพื่อบอก COLA ว่าจะหา Python ได้ที่ไหน ตัวอย่างเช่น:
git config --global cola.pythonlocation /c/Python39
ตัวติดตั้ง Windows ถูกสร้างขึ้นโดยใช้
Pynsist
จำเป็นต้องใช้ NSIS
ในการสร้างตัวติดตั้งโดยใช้ Pynsist Run:
./contrib/win32/run-pynsist.sh
สิ่งนี้จะสร้างตัวติดตั้งใน build/nsis/
คุณอาจต้องกำหนดค่าเบราว์เซอร์ประวัติของคุณหากคุณกำลังอัพเกรดจาก Git Cola รุ่นเก่าบน Windows
gitk เดิมเป็นเบราว์เซอร์ประวัติเริ่มต้น แต่ gitk ไม่สามารถเปิดตัวได้ตาม Windows เพราะ gitk เป็นเชลล์สคริปต์
หากคุณได้รับการกำหนดค่าให้ใช้ gitk ให้เปลี่ยนการกำหนดค่าของคุณเพื่อผ่าน sh.exe ของ Git บน Windows ในทำนองเดียวกันเราต้องผ่าน python.exe ถ้าเราต้องการใช้ git-dag
หากคุณต้องการใช้ Gitk เป็นเบราว์เซอร์ประวัติของคุณเปิดหน้าจอการตั้งค่าและเปลี่ยนคำสั่งเบราว์เซอร์ประวัติเป็น:
"C:/Program Files/Git/bin/sh.exe" --login -i C:/Git/bin/gitk
git-dag กลายเป็นเบราว์เซอร์ประวัติเริ่มต้นบน Windows ใน v2.3 ดังนั้นผู้ใช้ใหม่ไม่จำเป็นต้องกำหนดค่าอะไร