『壹』 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。