Bạn có thể sử dụng Python trong git không?

GitPython là api python cho repos git của bạn, nó có thể khá tiện dụng khi bạn cần làm việc với git từ python

Trường hợp sử dụng

Gần đây tôi đã tạo cho mình một công cụ hữu ích để tạo ảnh chụp màn hình trong python và nó cần thực hiện cam kết git và đẩy từ bên trong tập lệnh. Đối với điều này, tôi đạt được cho GitPython

https. // người đi đường. com/hinh-to-blog/

Cài đặt

GitPython là một thư viện python được lưu trữ trên pypi mà chúng tôi sẽ muốn cài đặt vào môi trường ảo của mình bằng cách sử dụng pip

pip install GitPython

Tạo một đối tượng Repo

Nhập Repo từ thư viện git và tạo một thể hiện của đối tượng Repo bằng cách cung cấp cho nó một đường dẫn đến thư mục chứa thư mục

from git import Repo
repo = Repo('~/git/waylonwalker.com/')
0 của bạn

from git import Repo
repo = Repo('~/git/waylonwalker.com/')

Hai giao diện

từ các tài liệu

Nó cung cấp sự trừu tượng của các đối tượng git để dễ dàng truy cập dữ liệu kho lưu trữ và ngoài ra cho phép bạn truy cập kho git trực tiếp hơn bằng cách sử dụng triển khai python thuần túy hoặc triển khai lệnh git nhanh hơn nhưng tốn nhiều tài nguyên hơn

Tôi chỉ cần sử dụng cách triển khai lệnh git cường độ cao nhưng quen thuộc hơn đối với tôi để giúp tôi bắt đầu dự án. Có một điều tốt để giúp bạn bắt đầu với việc triển khai python thuần trong tài liệu của họ

Trạng thái

Yêu cầu trạng thái git có thể được thực hiện như sau

lưu ý rằng tôi đã đặt trước các lệnh của mình bằng >>> để phân biệt giữa lệnh tôi đã nhập và đầu ra

>>> print(repo.git.status())

On branch main
Your branch is ahead of 'origin/main' by 1 commit.
  (use "git push" to publish your local commits)

Untracked files:
  (use "git add <file>..." to include in what will be committed)
        blog/

Bạn thậm chí có thể chuyển các cờ mà bạn sẽ chuyển vào cli

>>> print(repo.git.status("-s"))
?? blog/

đăng nhập

Ví dụ về sử dụng nhật ký

print(repo.git.log('--oneline', '--graph'))

* 0d28bd8 fix broken image link
* 3573928 wip screenshot-to-blog
* fed9abc wip screenshot-to-blog
* d383780 update for wsl2
* ad72b14 wip screenshot-to-blog
* 144c2f3 gratitude-180

Tìm tập tin đã xóa

Chúng tôi thậm chí có thể làm những việc như tìm tất cả các tệp đã bị xóa và hàm băm của chúng đã bị xóa

print(repo.git.log('--diff-filter', 'D', '--name-only', '--pretty=format:"%h"'))

https. // người đi đường. com/git-find-deleted-files/

bài đầy đủ về việc tìm các tập tin đã xóa

Kinh nghiệm của tôi

Thư viện này có vẻ khá đơn giản và dễ đoán khi tôi nhận ra có hai cách triển khai chính và tôi đã quen với việc triển khai lệnh git chuyên sâu hơn

Hãy thử một cách nhanh hơn và dễ dàng hơn để làm việc với các gói Python như Exchangelib. Sử dụng Python3. 9 của ActiveState và xây dựng thời gian chạy của riêng bạn với các gói và phần phụ thuộc bạn cần. Bắt đầu miễn phí bằng cách tạo tài khoản trên Nền tảng ActiveState hoặc đăng nhập bằng tài khoản GitHub của bạn

Pip/pip3 là trình quản lý gói chính thức cho Python và là công cụ được Cơ quan đóng gói Python (PyPA) khuyên dùng để cài đặt các gói Python. Thuật ngữ 'pip' được sử dụng thay thế cho 'pip3' trong Hướng dẫn nhanh này

Theo mặc định, pip cài đặt các gói và tất cả các phụ thuộc cần thiết của chúng từ Chỉ mục gói Python (PyPI), sử dụng lệnh

pip install <package_name>.

Tuy nhiên, pip hiện không hỗ trợ giải pháp phụ thuộc, điều này có thể dẫn đến môi trường bị hỏng. Để tránh điều này, bạn có thể muốn dùng thử ActiveState Platform, đây là giải pháp quản lý gói Python duy nhất tự động giải quyết các phụ thuộc, gắn cờ xung đột và thậm chí sẽ đề xuất giải pháp thay thế thủ công để giải quyết xung đột. Bắt đầu với ActiveState Platform bằng cách đăng ký một tài khoản miễn phí.

Kiểm soát phiên bản Git

Git là Hệ thống kiểm soát phiên bản (VCS) để quản lý các thay đổi trong mã nguồn, cũng như các loại tệp khác (ví dụ:. html) và cấu trúc tệp trong kho Git. Nó cho phép các nhà phát triển cộng tác trên các dự án mà không có xung đột

Bạn có thể sử dụng Python trong git không?

Kho lưu trữ Git là một. git/thư mục bên trong một dự án phát triển phần mềm. Bạn có thể triển khai Git cục bộ hoặc sử dụng nó thông qua dịch vụ được lưu trữ, chẳng hạn như Github, Gitlab hoặc Bitbucket

Một trong những lợi thế của việc sử dụng pip cùng với Git là cài đặt các cam kết mới nhất của các gói Python chưa được phát hành dưới dạng các nhánh từ Github. Một số ví dụ về điều này được cung cấp dưới đây

Điều kiện tiên quyết cài đặt Git

Trước tiên, hãy xác định xem bạn có phiên bản cập nhật của Python, pip và Git hay không. Bạn có thể kiểm tra phiên bản Python nào (nếu có) đã được cài đặt bằng cách nhập lệnh sau vào terminal hoặc cửa sổ lệnh

________số 8_______

Đầu ra phải tương tự như

Python 3.8.2

Bạn có thể kiểm tra xem pip đã được cài đặt và cập nhật hay chưa bằng cách nhập lệnh sau

pip --version 

Đầu ra phải tương tự như

pip 20.0.2 from C:\Python38\lib\site-packages\pip (python 3.8)

Nếu Python hoặc pip chưa được cài đặt hoặc chưa cập nhật, thì cách đơn giản nhất để tải phiên bản Python cập nhật với pip cho Linux, MacOS hoặc Windows là install Python 3.9 from ActiveState.

Cài đặt Git

Trước khi cài đặt Git, trước tiên bạn nên xác định xem bạn đã cài đặt Git chưa bằng cách chạy lệnh git sau

git --version

Đầu ra phải tương tự như

git version 2.32.0.windows.2

Dành cho Linux.

Hầu hết các nền tảng Linux đã có cài đặt Git cơ bản theo mặc định, nhưng chúng thường không được cập nhật. Các lệnh cài đặt Git cho các nền tảng Linux khác nhau được liệt kê tại đây

  • Cài đặt dựa trên Debian, chẳng hạn như Ubuntu
sudo apt install git-all

hoặc là

apt-get install git
  • RHEL và CentOS
sudo dnf install git-all
  • Fedora

# Lên đến Fedora 21

python --version
0

# Fedora 22 trở lên

python --version
1
  • mởSUSE
python --version
2

Dành cho macOS.

Mặc dù MacOS đi kèm với trình cài đặt công cụ dòng lệnh bao gồm Git, Homebrew là tùy chọn được đề xuất để cài đặt macOS Git.  

Để cài đặt Homebrew, hãy chạy tập lệnh sau trong thiết bị đầu cuối của bạn

python --version
3

Khi Homebrew được cài đặt, bạn có thể cài đặt Git bằng lệnh sau

python --version
4

Dành cho Windows.

Để cài đặt Git cho Windows, hãy trỏ trình duyệt của bạn tới https. //git-scm. com/tải xuống/thắng . Quá trình tải xuống trình cài đặt Windows Git sẽ tự động bắt đầu. Sau khi hoàn tất, bạn có thể nhấp đúp vào trình cài đặt và làm theo các bước.

Thiết lập Git lần đầu

Sau khi cài đặt Git, các biến cấu hình và môi trường Git của bạn cần được tùy chỉnh bằng git config .

Bạn có thể xem các tùy chọn cấu hình Git mặc định của mình bằng lệnh sau

python --version
5

Đầu ra phải tương tự như

python --version
6

Đặt danh tính Git của bạn

Đặt tên người dùng và địa chỉ email của bạn. Điều này rất quan trọng vì mọi cam kết Git đều sử dụng thông tin này

python --version
7

Việc này chỉ cần được thực hiện một lần trên mỗi máy tính, nếu bạn bao gồm tùy chọn –global .

Sau khi bạn đã đặt tên người dùng và địa chỉ email, bạn có thể kiểm tra cài đặt của mình bằng lệnh sau

python --version
8

Sử dụng Git

Khi danh tính Git của bạn đã được định cấu hình, bạn có thể bắt đầu sử dụng Git để cài đặt các nhánh Github.  

Pip cài đặt cú pháp Git

Cú pháp lệnh sau có thể được sử dụng để cài đặt nhánh mặc định của dự án github.  

python --version
9

Pip Cài đặt Nhánh Git – Ví dụ

Để cài đặt cam kết mới nhất của gói Exchangelib, hãy chạy

Python 3.8.2
0

Pip Cài đặt thư mục con Git

Tính năng này chưa khả dụng

Phiên bản Pip cài đặt Git

Để cài đặt một phiên bản cụ thể của nhánh kho lưu trữ, hãy nhập

Python 3.8.2
1

Yêu cầu Git cài đặt Pip. txt

Để bao gồm các phụ thuộc Git và các phụ thuộc mô hình con, nằm ở

https. //github. com/  

trong một yêu cầu. tập tin txt

# yêu cầu. txt nên bao gồm

Python 3.8.2
2

# Yêu cầu cài đặt. txt với cờ -r

Python 3.8.2
3

Bản sao Git – Cú pháp

Lệnh Git clone được sử dụng để sao chép hoặc tải xuống một dự án Git mà không cần cài đặt nó.  

Trước tiên hãy điều hướng đến thư mục nơi bạn định vị kho lưu trữ nhân bản, sau đó nhập.  

Python 3.8.2
4

Github Desktop – Sao chép với tùy chọn SSH

Github Desktop là ứng dụng khách Windows Github Git để nhân bản. Nó có tùy chọn xác thực SSH yêu cầu khóa SSH công khai. Một liên kết với hướng dẫn được bao gồm

Bạn có thể sử dụng Python trong git không?

Hình 1. Máy tính để bàn Github> Bản sao> Tùy chọn SSH

Pip Cài đặt Git bằng SSH

Cú pháp sau sẽ sử dụng SSH để cài đặt kho lưu trữ Git không được bảo vệ bằng mật khẩu

Python 3.8.2
5


Một giải pháp hiện đại để quản lý gói Python – Hãy dùng thử Nền tảng của ActiveState

Độ phân giải phụ thuộc là cốt lõi của ActiveState Platform. Khi bạn tạo một dự án và bắt đầu thêm các yêu cầu, Nền tảng sẽ cho bạn biết những yêu cầu đó có những yếu tố phụ thuộc nào

Nền tảng ActiveState là một công cụ xây dựng dựa trên đám mây dành cho Python. Nó cung cấp khả năng tự động hóa bản dựng và khắc phục lỗ hổng cho

  • Các lõi ngôn ngữ Python, bao gồm Python 2. 7 và Trăn 3. 5+
  • Các gói Python và các phụ thuộc của chúng, bao gồm
  • Phụ thuộc chuyển tiếp (tức là. , phụ thuộc của phụ thuộc)
  • Các thư viện C và Fortran được liên kết để bạn có thể xây dựng các gói khoa học dữ liệu
  • Phụ thuộc cấp hệ điều hành cho Windows, Linux và macOS
  • Các phụ thuộc được chia sẻ (nghĩa là. , OpenSSL)
  • Tìm, sửa và tự động xây dựng lại phiên bản bảo mật của các gói Python như Django và môi trường trong vài phút

Bạn có thể sử dụng Python trong git không?
Nền tảng ActiveState nhằm mục đích xử lý mọi phụ thuộc cho mọi ngôn ngữ. Điều đó có nghĩa là xử lý các thư viện ở mức C/C++, các công cụ bên ngoài và tất cả các phụ thuộc có điều kiện tồn tại. Để tiến xa hơn nữa, mục tiêu cuối cùng của chúng tôi là hỗ trợ các dự án đa ngôn ngữ. Điều đó có nghĩa là bạn có thể tạo một dự án bằng cả hai gói Python và Perl và chúng tôi sẽ đảm bảo rằng cả hai ngôn ngữ đều đang sử dụng cùng một phiên bản OpenSSL (cập nhật)

Quản lý gói Python đang hoạt động

Nhận đánh giá thực tế về cách Nền tảng ActiveState có thể giúp bạn quản lý các phần phụ thuộc của mình cho môi trường Python. Chỉ cần chạy lệnh sau để cài đặt Python 3. 9 và trình quản lý gói của chúng tôi, State Tool

các cửa sổ

Python 3.8.2
6

Linux

Python 3.8.2
7

Now you can run state install . Learn more about how to use the State Tool to manage your Python environment.

Hãy cho chúng tôi biết trải nghiệm của bạn trong diễn đàn Cộng đồng ActiveState

Xem video này để tìm hiểu cách sử dụng Nền tảng ActiveState để tạo Python 3. 9, sau đó sử dụng CLI (Công cụ trạng thái) của Nền tảng để cài đặt và quản lý nó

Làm cách nào để cài đặt Python trong Git?

CÀI ĐẶT .
thiết lập trăn. cài đặt py. .
cài đặt pip GitPython. .
http. //pypi. con trăn. org/pypi/GitPython. .
bản sao git https. //github. com/gitpython-developers/GitPython git submodule update --init --recursive. /init-tests-after-clone. sh

Python có hoạt động trên GitHub không?

GitHub cung cấp quy trình làm việc dành cho người mới bắt đầu Python phù hợp với hầu hết các dự án Python .

Tại sao Git được sử dụng cho Python?

Git có thể hiển thị cho bạn lịch sử của tất cả các lần xác nhận và thông báo cam kết của chúng . Điều này cung cấp một lịch sử hữu ích về những công việc bạn đã làm và thực sự có thể giúp xác định chính xác thời điểm một lỗi xâm nhập vào hệ thống.

Làm cách nào để chạy lệnh git trong tập lệnh Python?

Hãy xem từng thao tác Git Cơ bản này trong Python GitPython như thế nào. .
Khởi tạo Git. Để bắt đầu là tạo repo Git trần trong thư mục đã chỉ định. .
Bản sao Git. .
Kiểm tra Git. .
Tìm nạp Git. .
Thêm Git. .
Cam kết Git. .
Đẩy Git. .
Kéo Git