Đây là một hàm bash sẽ in tên kho lưu trữ (nếu nó đã được thiết lập đúng):
__get_reponame ()
{
local gitdir=$(git rev-parse --git-dir)
if [ $(cat ${gitdir}/description) != "Unnamed repository; edit this file 'description' to name the repository." ]; then
cat ${gitdir}/description
else
echo "Unnamed repository!"
fi
}
Giải trình:
local gitdir=$(git rev-parse --git-dir)
Điều này thực thi git rev-parse --git-dir
, trong đó in đường dẫn đầy đủ đến .git
thư mục của kho lưu trữ hiện tại. Nó lưu trữ đường dẫn trong $gitdir
.
if [ $(cat ${gitdir}/description) != "..." ]; then
Điều này thực thi cat ${gitdir}/description
, trong đó in nội dung của .git/description
kho lưu trữ hiện tại của bạn. Nếu bạn đã đặt tên đúng cho kho lưu trữ của mình, nó sẽ in tên. Nếu không, nó sẽ inUnnamed repository; edit this file 'description' to name the repository.
cat ${gitdir}/description
Nếu repo được đặt tên chính xác, sau đó in nội dung.
else
Nếu không thì...
echo "Unnamed repository!"
Nói với người dùng rằng repo không được đặt tên.
Một cái gì đó tương tự được thực hiện trong kịch bản này .