Git是什么?实际常用的命令有哪些?如何使用?完整且详细流程已整理好。
官网:https://git-scm.com/
一、git是什么?
是一个分布式版本控制系统,用于跟踪在软件开发过程中对程序文件的修改。它允许多个开发者协同工作,对同一个项目进行修改,而不会互相干扰。会记录每次修改的版本历史,包括谁做的修改、修改时间以及修改备注信息等。
二、它和svn有什么区别?
它们都是版本控制系统。svn更早出现,git参考了svn,但功能更加强大。
git是分布式版本控制系统,它的完整版本在git服务器仓库中有一份,在各个开发端(本地仓库)也有一份,即使服务器异常,也可从本地仓库得到完整的软件项目拷贝。
svn是集中式版本控制系统。svn的完整版本仅在服务器端保存。在各个开发端没有保存,一旦服务器出现异常,软件项目无法恢复。
三、如何使用git?
- 下载安装
- window下载安装git,请看文章:window下载安装git。本文重点是在讲解git使用。
- Linux下载安装git,请看文章:Linux下载安装git。本文重点是在讲解git使用。
- 设置用户名,密码
- 初次使用git需要设置用户名,密码,目的是在提交版本时告诉git当前是谁做的操作。
- 一般是全局设置。以windows为例:
在空白文件夹右键,点击Open Git Bash here,打开命令行界面
设置实际是修改的当前用户所在目录下的.gitconfig文件,设置之前如果有文件则先备份再设置
cat ~/.gitconfig
cp ~/.gitconfig ~/.gitconfig2
设置用户名:
git config --global user.name zhangsan
设置邮箱:
git config --global user.email zhangsan@qq.com
或者命令查看,
git config user.name 回车
git config user.email 回车
3,设置ssh key
(1)ssh key是什么?
是通过 SSH(Secure Shell)协议远程连接服务器时使用的一种基于密匙方式安全认证的密匙文件。让我们可以通过 SSH(Secure Shell)协议,快速连接远程登录服务器。而不需要输入用户名和密码。它比传统输入用户名密码方式更安全、更方便。涉及一对密钥:公钥(public key)和私钥(private key)。
(2)为什么要设置ssh key?
安全连接,且不需要输入密码。否则在每次操作远程仓库都需要输入用户名,密码,会很繁琐。它的私钥在自己的本地电脑,公钥在远程服务器,非常安全。
(3)如何设置ssh key?
设置实际是修改的当前用户所在目录下的.ssh文件夹及其文件,设置之前如果有则先备份再设置
ll ~/.ssh
cp -r ~/.ssh/ ~/.ssh2
设置ssh key
ssh-keygen -t rsa
或者
ssh-keygen -t rsa -b 4096
默认密钥长度是2048位,-b 4096是指定长度为4096位,更安全。
成功生成会得到如下两个文件:
id_rsa是私钥文件,保留在本地,不要泄露给他人。id_rsa.pub是公钥,需要打开把里面的内容复制到远端服务器保存。如gitLb,gitHub,gitee等远端仓库里。这里使用Gitee(码云)代码托管平台
https://gitee.com/enterprises?invite_code=Z2l0ZWUtMTM1OTY%3D,如果有专门的运维人员,可以把公钥给运维帮忙添加。
添加好后就可以不输入用户名密码也能操作git远端仓库了。
4,仓库使用
(1)创建远程仓库,然后把远程仓库克隆到本地
登录gitee,新建仓库mytest
找到仓库地址
切换到https地址,克隆时需要输入gitee的用户名和密码
或切换到ssh地址,克隆时需要先把上面配置ssh key的公钥配置到仓库的gitee中
添加方式在,个人主页-》设置-》SSH公钥
SSH公钥是有读取(clone和pull)和修改(push)权限的。如果你只想分配读取权限。那就不要设置SSH公钥。而是设置部署公钥。