簡體   English   中英

Bash腳本自動執行Git拉取

[英]Bash script to automate Git pull

我想自動從Git中拉出。 由於某些原因,無法在我正在使用的服務器中自動執行密碼操作。 因此,它需要通過Bash文件來完成。 現在我的Bash編碼不是很好。 然后可以輸入SSH密鑰的密碼。 但是我真的不知道該怎么辦...

#!/bin/bash cd . public_html/auto_deploy/foldername && git fetch --all && git checkout --force "origin/master"

上面的方法不起作用...然后需要輸入密碼,我不知道該怎么辦...我該怎么做?

幸運的是,根據核心Git文檔 ,您可以使用以下命令來保存您的憑據供以后使用-而不是每次出現提示時都鍵入該憑據。

git config credential.helper store

使用此幫助程序會將密碼未加密地存儲在磁盤上,僅受文件系統權限保護。 該命令將證書無限期地存儲在磁盤上,以供將來的Git程序使用。

您可能不想直接調用此命令。 它旨在被git的其他部分用作憑證幫助器

有趣的檢查: Git憑證

如果要從shell腳本中進行Git拉取,則需要像這樣使用它:

git pull https://username:password@git_hostname.com/my/repository

您還可以使用ssh-keygen生成ssh密鑰,並使用ssh://方法進行git pull

SSH密鑰使您可以建立安全連接。

在生成SSH密鑰之前,請通過運行cat ~/.ssh/id_rsa.pub檢查系統是否已有密鑰。 如果看到以ssh-rsassh-dsa開頭的長字符串,則可以跳過ssh-keygen步驟。

要生成新的SSH密鑰,只需打開您的終端並使用下面的代碼。 ssh-keygen命令提示您輸入用於存儲密鑰對的位置和文件名以及密碼。 當提示您輸入位置和文件名時,您可以按Enter鍵使用默認值。 最佳做法是將密碼用於SSH密鑰,但這不是必需的,您可以按Enter跳過創建密碼。 請注意,您在此處選擇的密碼無法更改或檢索。

ssh-keygen -t rsa -C "$your_email"

使用下面的代碼顯示您的公共密鑰。

cat ~/.ssh/id_rsa.pub

將密鑰復制粘貼到用戶配置文件中。 請復制完整的密鑰,以ssh-開頭,並以您的用戶名和主機結尾。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM