git安装
Linux centos 安装
相关文章
方式一:采用yum安装(不推荐)
yum install git
这个方式安装的git版本比较老,目前还停留在1.8.3版本,而此时最新版本是2.21.0,所以这种方式不推荐。
方式二:使用源码安装
- 官网下载最新版(https://git-scm.com/download/linux),本文使用的版本是git-2.21.0.tar.gz
具体下载地址 https://mirrors.edge.kernel.org/pub/software/scm/git/
- 通过ftp等工具上传到linux服务器中。
安装依赖库和编译工具
yum -y install curl-devel expat-devel openssl-devel zlib-devel // 实测依赖
#yum -y install curl-devel expat-devel gettext-devel openssl-devel zlib-devel // 官网完整依赖
yum -y install gcc
解压安装文件并进入目录
tar -zxf git-2.21.0.tar.gz
cd git-2.21.0
编git-2.21.0目录下编译并安装
make // 编译
make install prefix=/usr/local/git // 安装
配置全局
方式一:配置环境变量
1)加入环境变量,在 /etc/profile文件末尾增加配置
export PATH=$PATH:/usr/local/git/bin
2)执行命令使配置文件生效
source /etc/profile
方式二:软链接
ln -s /usr/local/git/bin/git /usr/local/bin/
用户信息
安装完git之后,第一件事就是设置用户名和邮件地址,因为每一个git提交都会使用这些信息,它们会写入到你的每一次提交中,不可修改
$ git config --global user.name "John Doe"
$ git config --global user.email johndoe@example.com
如果使用了 —global 选项,那么该命令只需要运行一次,因为之后无论你在该系统上做任何事情, Git 都会使用那些信息。 当你想针对特定项目使用不同的用户名称与邮件地址时,可以在那个项目目录下运行没有 —global 选项的命令来配置。
检查配置信息
$ git config --list
user.name=John Doe
user.email=johndoe@example.com
color.status=auto
color.branch=auto
color.interactive=auto
color.diff=auto
...
删除配置
//删除全局配置项
git config --global --unset user.name
//编辑配置文件
git config --global --edit
windows中查看凭证
控制面板 - 用户账户 - 管理windows 凭据
ssh配置
1.查看是否配置过ssh key(密钥 )
看是否存在 id_isa 和 id_isa.pub 文件
注:windows 查看路径 C:\Users\666(用户)\.ssh
linux 查看 cat ~/.ssh/id_rsa.pub
2.生成密钥
ssh-keygen -t rsa -C "输入你的邮箱"
此处会提示 Enter file in which to save the key (/Users/shutong/.ssh/id_rsa): 这样一段内容, 让我们输入文件名,如果第3步的文件存在的话最好在这里修改一下文件名以防覆盖之前的内容;如果第3步的文件不存在的话则直接按 enter 键就好了.上述操作执行完毕后,在 ~/.ssh/ 目录会生成 XXX-rsa (私钥)和 XXX-rsa.pub (公钥)
3.查看ssh文件是否配置成功
ssh -T git@github.com
输出下面即成功
相关文章
问题方案
Git配置多个SSH-Key
背景:当有多个git账号时,比如
a:一个gitee,用于公司内部的工作开发
b:一个github,用于自己进行一些开发活动
解决办法
1.生成一个公司用的SSH-Key
$ ssh-keygen -t rsa -C 'xxxxx@company.com' -f ~/.ssh/gitee_id_rsa
2.生成一个github用的SSH-Key
$ ssh-keygen -t rsa -C 'xxxxx@qq.com' -f ~/.ssh/github_id_rsa
C:\Users\用户名\.ssh
3.在 ~/.ssh 目录下新建一个config文件,添加如下内容(其中Host和HostName填写git服务器的域名,IdentityFile指定私钥的路径)
# gitee
Host gitee.com
HostName gitee.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/gitee_id_rsa
# github
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/github_id_rsa
4.用ssh命令分别测试
$ ssh -T git@gitee.com
$ ssh -T git@github.com
$ ssh -T git@gitlab.com
github不在支持密码验证解决方案
查看.ssh 文件可以发现 会有下面圈的两个文件。
当生成ssh文件之后,并在github上配置完成,我们还需要对之前的文件夹的git仓库地址做变更。
git修改远程仓库地址
//有三种方式
1.修改命令
git remote origin set-url [url]
2.先删后加
git remote rm origin
git remote add origin [url]
3.直接修改config文件
git文件夹,找到config,编辑,把就的项目地址替换成新的。
注意:当修改完之后,也就是会变成首次提交,所以需要指定
git push -u origin master //-u update
相关文章
git push 报错
fatal: The current branch master has no upstream branch.To push the current branch and set the remote as upstream, use git push —set-upstream origin master
原因
没有将本地的分支与远程仓库的分支进行关联。
通过 git branch 查看本地分支,通过git branch -a 查看远程分支。
由于远程仓库太多,且分支较多,在默认情况下,git push 时一般会上传到 origin 下的master分支上,然而当repository和branch过多,而又没有设置关联时,git就会产生疑问,因为无法判断push目标
解决
方式一
git push --set-upstream origin master命令
其中的origin是你在clone远程代码时,git为你创建的指向这个远程代码库的标签,它指向repository。为了能清楚了解你要指向的repository,可以用命令git remote -v进行查看。master是你远程的branch,可以用 git branch -a 查看所有分支,远程分支是红色的部分。然后确定好这两个值后,将值换掉即可。
方式二
git push -u origin master
区别
第一条命令是要保证你的远程分支存在,如果不存在,也就无法进行关联。而第二条指令即使远程没有你要关联的分支,它也会自动创建一个出来,以实现关联。