git是一个开源的分布式版本控制系统 (VCS),可以有效、高速地处理从很小到非常大的项目版本管理。
用于跟踪源代码更改。它允许多个开发人员一起进行非线性开发。
Linux、macOS、Windows都可以在官网下载对应平台安装包,
下载地址:https://git-scm.com/downloads
下面介绍三种平台的其它安装方式:
使用 <code>dnf</code>:
如果你在基于 Debian 的发行版上,如 Ubuntu,请使用 <code>apt</code>:
在安装 Xcode Command Line Tools。 Mavericks (10.9) 或更高版本的系统中,在 Terminal 里尝试首次运行 git 命令即可。
如果没有安装过命令行开发者工具,将会提示你安装。
去Git 官方网站下载。 下载地址: https://git-scm.com/download/win
国内镜像:https://npm.taobao.org/mirrors/git-for-windows/
检测安装成功可以运行 <code>git</code>命令测试是否安装成功
当你安装好了git后,在Windows上会有三个内容
Git Bash,是Git配套的一个控制台
Git CMD(Deprecated),是通过CMD使用Git
Git GUI,是Git的可视化操作工具
下列git操作示例使用GitHub和GitLab举例
这一步前需要先注册好Github账号,GitLab操作和GitHub一样
查看全局配置结果
当输入命令后会提示三次需要输入密码,直接敲回车。
运行生成SSH密钥命令会在本地 <code>.ssh</code>文件夹生成两个文件
id_rsa // 密钥 id_rsa.pub //公钥
将生成的ssh公钥 <code>id_rsa.pub</code>复制到平台的ssh密钥中,路径:<code>用户设置->SSH密钥</code>
Linux中文件生成位置,可以通过下列命令进入
macOS中文件生成位置,也可以通过下面命令进入或打开,
Windows中文件生成位置,路径如下
如果一台机器需要连接多个git平台
根据不同平台生成不同SSH密钥
将生成的公钥添加到对应的平台上
在 <code>.ssh</code>文件夹中新增 <code>config</code>文件并写入一下内容
添加到本地仓库
测试连接是否成功
初始化仓库后会在输入命令所处的文件夹生成一个<code>.git</code>文件
克隆代码,后面跟着的是你想克隆代码的项目地址
提交代码至远程仓库
查看分支
切换分支
切换到你想提交的分支
添加文件到暂存区
查看文件状态
添加提交的描述信息
提交到远程
推送代码到远程仓库
实际使用git的过程中,会出先各种各样问题,本文记录下作者出现问题较多的一些问题,后续会更新。
Permission denied, please try again.
问题描述:
在 gitlab 仓库已经添加了 ssh key 之后,用 vsCode 或者 sourcetree 操作仓库时,会弹出提示
问题分析:
mac每次重启机器都需要 root 密码获取 ~/.ssh/id_rsa.pub 的 key
问题日志:
Git: Permission denied, please try again.
解决办法:
ssh-add 这个命令不是用来永久性的记住你所使用的私钥的。实际上,它的作用只是把你指定的私钥添加到 ssh-agent 所管理的一个 session 当中,这个方法不是一劳永逸
Your push would publish a private email address.
在推送代码的时候出现问题,拉取代码可以拉取
由于电子邮箱的限制
! [remote rejected] main -> main (push declined due to email privacy restrictions)
<code>setting</code>-><code>emails</code>-><code>Keep my email address private</code> 将这个单选框给去掉,再重新试试