『壹』 windows下git怎麼管理許可權
一、安裝
軟體:msysGit-fullinstall-1.8.1.2
打開之後設置安裝路徑,默認為C:\msysgit,如圖:
注意:如果要自定義安裝路徑,請不要安裝在帶有空格的路徑以及含有中文的路徑下點擊「OK」以後開始安裝,首先將文件解壓到安裝目下,然後會自動開始編譯,編譯結束之後,若看到與下圖中伍謹碧類似的內容,腔舉則表明編譯成功。
二、配置
注意:在配置過程中會對一系列文件進行編輯,請使用支持 unix 格式的編輯器Notepad++,
1、C:\msysgit\msysgit\etc\gitconfig 添加:(這里選擇了默認安裝路徑)
[gui] encoding = utf-8[i18n] commitencoding = GB2312
2、C:\msysgit\msysgit\etc\inputrc 修改兩行為:
set output-meta onset convert-meta off
3、C:\msysgit\msysgit\git\contrib\completion\git-completion.bash 末尾增加:
alias ls='ls --show-control-chars --color=auto'
4、C:\msysgit\msysgit\etc\bash_profile 末尾增加:
export LESSCHARSET=utf-8
三、gitlab伺服器端的設置
訪問gitlab伺服器,界面如下:
輸入賬號密碼登陸以後(假設你的賬號是[email protected]),點「New Project」,這里設置工程名為example,創建工程之後網頁會有提示: You won't be able to pull or push project code via SSH until you add an SSH key to your profile 這時我們需要把剛才生成的公鑰遞交到伺服器上,點擊「add an SSH key」,出現如下界面:
我們需要生成一對 Key(這里指密鑰),然後才能通過加密的方式和伺服器的代碼庫取得同步。現在運行C:\msysgit\msysgit\msys.bat,並執行以下命令:(注意請把[email protected]替換成你的賬號)
$ ssh-keygen -t rsa -C "[email protected]"
一路回車,如圖:
密鑰生成成功!密鑰分成兩個文件,一個私鑰(id_rsa)、一個公鑰(id_rsa.pub)。私鑰保存在你的電腦上,公鑰交項目負責人添加到伺服器上。用戶必須擁有與伺服器公鑰所配對的私鑰,才能訪問伺服器上的代碼庫。
【注意!】為了項目代碼的安全,請妥善保管你的私鑰!因為一旦私鑰外泄,將可能導致伺服器上的代碼被泄漏!
接下來將公鑰提交給gitlab伺服器即可。打開C:\Users\Administrator\.ssh\id_rsa.pub,將裡面的內容復制到「add an SSH key」網頁上的key文本框中,Title填寫為你的郵箱賬號,這里為[email protected],保存後即添加成功。
【注意!】這里的Administrator為windows下的登陸用戶,如果不清楚登陸用戶名,點擊開始菜單即可看到用戶名,見下圖:
現在回到剛才的工程目錄對應的網頁中,有提示信息,按照它給的步驟一步步來即可,這里作簡單解釋:
Git global setup:git config --global user.name "晌氏user_test"
#git的全局設置,設置一次即可,這里設置用戶名
git config --global user.email "[email protected]"
#git的全局設置,設置一次即可,這里設置郵件
Create Repositorymkdir example
#在當前目錄創建example工程文件夾
cd example
#切換目錄example目錄
git init
#初始化本地的git倉庫
touch README
#創建一個新文件,名字為README
git add README
#將對README文件的修改通知git
git commit -m 'first commit'
#將通知給git的修改提交到本地倉庫上,-m為設定提交理由:first commit
git remote add origin [email protected]:user_test/example.git
#添加遠程伺服器端的git倉庫,名字為origin,鏈接內容為最後一串字元
git push -u origin master
#將本地git倉庫的內容推送到origin鏈接上,推送版本默認為主版本
第一次提交後會提示連接不能建立,因為rsa的fingerprint沒有驗證,我們選擇yes之後隨即開始推送,如果出現類似於如下圖的情況,那麼表明推送成功!
以後若要再次提交只需要執行 :
git add xxx(xxx為修改的文件) git commit -m 'xxx'(xxx為提交的原因) git push -u origin master(本地推送到遠程伺服器端)
『貳』 Ubuntu系統中git每次提交都要輸入密碼怎麼辦
git每次提交都要輸入密碼解決方法操作步聚如下:
git每次提交都要輸入密碼解決方法一:
1: cd 回車;進入當前用戶目錄下;
2: vim .git-credentials (如果沒有安裝vim 用其它編輯器也可以或 sudo apt-get install vim 安裝一個)
3:按照以下格式輸入內容:
https://{username}:{password}@github.com
其中username,password,github.com 都換成你自己的內容
4:保存退出後執行下面命令
git config --global credential.helper store
執行完後
/home/用戶名/.gitconfig 會新增一項
helper = store
這是再執行git push/pull的時候就不會在要求你輸入密碼了。
當然,還有一種方式就是在git clone 的時候,不用https://的形式,而用git@git (ssh)的形式。這種方式也可以避免每次都要輸密碼。
最後,如果是在Mac os x或Uindows平台下,還可以用sourcetree 這樣的ide工具,不過現在好要FQ才能下載了。
git每次提交都要輸入密碼解決方法二:
創建文件存儲GIT用戶名和密碼
在%HOME%目錄中,一般為C:\users\Administrator,也可以是你自己創建的系統用戶名目錄,反正都在C:\users\中。文件名為.git-credentials,由於在Window中不允許直接創建以"."開頭的文件,所以需要藉助git bash進行,打開git bash客戶端,進行%HOME%目錄,然後用touch創建文件 .git-credentials, 用vim編輯此文件,輸入內容格式:
touch .git-credentials
vim .git-credentials
https://{username}:{password}@github.com
添加Git Config 內容
進入git bash終端, 輸入如下命令:
git config --global credential.helper store
執行完後查看%HOME%目錄下的.gitconfig文件,會多了一項:
[credential]
helper = store
重新開啟git bash會發現git push時不用再輸入用戶名和密碼
git每次提交都要輸入密碼解決方法三:
在windows中添加一個HOME環境變數,變數名:HOME,變數值:%USERPROFILE%
創建git用戶名和密碼存儲文件
進入%HOME%目錄,新建一個名為"_netrc"的文件,文件中內容格式如下:
machine {git account name}.github.com
login your-usernmae
password your-password
重新打開git bash即可,無需再輸入用戶名和密碼
看過「 git每次提交都要輸入密碼怎麼辦 」的人還看了:
『叄』 windows上git push和pull時每次都需要輸入本地密碼,怎麼去掉,linux上不用
這和你的設置有關。原因:
1. 生成sshkey的時候你設置了密碼。那麼你以後每次推送、拉取都回會要求答輸入密碼。
2. 託管站點保存的密碼被系統遺忘(用http方式的時候一般第一次都會要求輸入密碼,用sshkey不會----除了原因1的設置的原因。)
解決辦法:
也不清楚配置git全局文件里有沒有設置免密登錄的設置,如果項目還不是很多的話,可以重新生成sshkey(如果你也不清楚怎麼設置免密的話).記得重新生成的時候不要設置密碼了。
相應操作,到託管站把新的sshkey加上,並刪掉舊的sshkey。