1、下载
打开 Git 官网,下载 Git 对应操作系统的版本,下载慢的话可以去找镜像,git for windows下载地址。
2、安装
打开 .exe
格式的安装包,除了安装目录可以修改之外,其他选项全部默认即可,后面一直点击 next
,等待安装即可。安装成功后在开始菜单中会有Git项,菜单下有3个程序:
3、卸载
直接先右键卸载,然后进入环境变量,找到系统变量下的 Path
,双击打开,找到 Git
相关的环境变量,手动删除即可。
1、申请一个账号
先申请一个 github 的账号,然后记下你的用户名和你申请账号时用的邮箱(就是你的 GitHub 登录账号),对于学习编程的人来说 GitHub 是最好的开源社区,但在使用 GitHub 的时候,国内的用户经常遇到的问题是访问速度太慢,有时候还会出现无法连接的情况(有墙)。如果我们希望体验 Git飞一般的速度,可以使用国内的 Git 托管服务—— Gitee(gitee.com)。和 GitHub 相比,Gitee 也提供免费的 Git 仓库。此外,还集成了代码质量检测、项目演示等功能。对于团队协作开发,Gitee还提供了项目管理、代码托管、文档管理的服务,5人以下小团队免费。公司中有时候会搭建自己的 gitlab 服务器。如果已经有账号的小伙伴可以自动忽略这一步。
2、在Git上配置你的用户名和信息
当你安装Git后首先要做的事情是设置你的用户名称和 e-mail 地址。这是非常重要的,因为每次 Git 提交都会使用该信息。打开 Git Bash ,输入以下命令:
git config --global user.name "yourname" # 用户名
git config --global user.email "youremail" # 邮箱
注意:只需要做一次这个设置,如果你传递了–global 选项,Git 将总是会使用该信息来处理你在系统中所做的一切操作。如果你希望在一个特定的项目中使用不同的名称或 e-mail 地址,你可以在该项目中运行该命令而不要 --global选项。总之 –global 为全局配置,不加为某个项目的特定配置。
所有的配置文件,都保存在本地,使用下面这条命令查看当前所有配置
git config --list // 或者使用 git config -l
查看不同级别的配置文件:
git config --system --list # 查看系统 config
git config --global --list # 查看当前用户(global)配置
Git 相关配置文件
(1)Git\etc\gitconfig
:Git 安装目录下的 gitconfig --system 系统级
(2)C:\Users\Administrator\ .gitconfig
:只适用于当前登录用户的配置 --global 全局
当然也可以直接在这里编辑配置文件,通过命令行同样会把命令输入到文件里。
1、在本地创建一个保存Git项目的文件夹
可以专门建一个文件夹用于保存那些要是用Git来管理版本控制的项目
cd /E // 转到E盘目录下
mkdir -p Git2021/Repository // 新建一个名叫Git2021的主文件夹和Repository的子文件夹
2、初始化
在你的项目文件夹下执行下面这个指令初始化 git
,这个指令会在当前文件夹下新建一个名叫 .git
的文件夹,里面放置的都是 git 进行版本控制的文件,这个文件夹是一个隐藏文件夹,需要点击文件夹上方的“查看”,勾选“隐藏的项目”才能看到它。
cd /Git2021/Repository # 进入 Git 管理的项目的根目录
git init # 在当前目录新建一个Git代码库
3、往仓库里添加要进行版本控制的文件
如果你是新建的一个文件夹没有任何文件,那么把你想进行版本控制的文件复制粘贴进来,然后执行下面这条命令,在原项目文件夹进行版本控制的同学直接执行下面这条命令即可:
git add XXX.py
xxx.py 就是你要添加的文件,包括文件名和后缀,比如 hello.txt,也可以是文件夹(空文件夹 ),这条命令只是把文件扔进缓存区而已,还要执行下面这条指令提交到版本控制仓库:
git commit -m "备注信息"
备注信息处换成你要写的信息即可,比如第一次提交“first commit”。
1、初始化操作
首先你得先生成一个 ssh 密钥,查看SSH版本,若没有输出,则需要安装SSH,请务必执行下面这些语句:
ssh -V
sudo apt-get install openssh-client openssh-server # SSH安装命令
cd ~/.ssh
ssh-keygen -C "[email protected]" -t rsa # 生成ssh密钥,这条语句会在.ssh 文件夹中生成两个必要的文件:id_rsa和id_rsa.pub。这是用rsa算法生成的公钥和私钥。
# 若之前已存在,可以自定义生成
ssh-keygen -C "[email protected]" -t rsa -f ~/.ssh/id_rsa_new
其中 -C 后面那个邮箱使用你自己的 github 账号或者gitee 邮箱。
执行完上面两条语句后一路按 ENTER 键即可,然后在C盘中找到 id_rsa.pub
文件,复制生成的密钥,也可以直接执行下面这条指令:
clip < ~/.ssh/id_rsa.pub # 复制公钥
在 ~/.ssh
目录下有 id_rsa/id_rsa_new
(私钥)和 id_rsa.pub/id_rsa_new.pub
(公钥)两个文件,其中 .pub
文件里存放的即是公钥key。对 SSH,公钥,私钥的理解,请看详细解释。
然后在浏览器上登陆你的github账户,然后点击右上角的头像,选择Settings => SHH and GPG keys=> New SHH key 添加生成的 SSH key 添加到仓库中,如下图所示:
PS:title 可以随便命名,然后点击 add,这时候 github会验证你是不是本人让你重新输入登录密码,输完就可以了。至此本地和github上的初始化操作就算完成了。
2、连接本地和GitHub服务器
执行下面这条指令连接github
ssh -T [email protected]
如果连接成功会提示:Hi xxx You’ve successfully authenticated, but GitHub does not provide shell access.
3、将服务器上的项目同步到本地仓库
(1)如果本地一个项目文件都没有,需要将服务器上的整个项目同步到本地,请使用下面这个指令:
git clone [url1] # 克隆一个项目和它的整个代码历史(版本信息)。[url1]——你的github项目的网址.git,例如:https://github.com/DroidAITech/ROS-Academy-for-Beginners.git
这样就会把整个项目保存在本地仓库中了。
(2)如果是本地和服务器都有项目文件,只是想获取本地没有的文件,那么先执行下面这条语句:
git remote add origin [url1]
这里,origin 是远程主机的名字,你可以把它理解为当前项目的别名你也可以起其他名字,origin
是 git 上原本存在的一个名字,这个步骤会弹出一个窗口让你登陆 github,完毕之后就将 origin 和你的项目匹配起来了。
然后有两种方式可以同步 github 上的项目到本地:
(1)使用 fetch
指令
git fetch origin
fetch
之后你会发现此时在你本地文件夹中找不到想要同步的项目,因为此时它还在缓存区,你要把它和当前分支合并才行,执行下面这条指令合并分支:
git merge origin/master
执行完毕之后你就能在本地文件夹看到它了,这里的 master 是本地仓库的主分支。
(2)使用pull指令,这样一条指令就够了
git pull origin master
4、将本地项目同步到github服务器
使用 git push
指令将本地项目同步到服务器:
git push origin master
这里的 master
是你 github 上的项目主分支 master。
补充:对于Github添加公钥有以下几种情况:(1)单个Github用户推送单个Github用户;(2)单个Github用户推送多个Github用户;(3)多个Github用户推送多个Github用户。参考文章:https://www.jianshu.com/p/106305921b90
PS:Github 详细使用教程:Github初步使用
1、设置本机绑定SSH公钥
和3.1节步骤一样,从而实现免密码登录!(免密码登录,这一步挺重要的,码云是远程仓库,我们是平时工作在本地仓库!)
后面的步骤如下图:
添加完成后,在Git Bash 终端验证 SSH Key是否添加成功:
ssh -T [email protected]
输出以下消息则表示成功:You’ve successfully authenticated, but GITEE.COM does not provide shell access.
2、使用码云创建一个自己的仓库
注意:项目名称最好与本地库保持一致。
3、和 Gitee 的远程仓库关联
git remote add origin [email protected]:carpediem2021/learning_git.git
此时,查看远程库信息:
git remote -v
origin [email protected]:carpediem2021/learning_git (fetch)
origin [email protected]:carpediem2021/learning_git (push)
可以看到,本地库已经关联了 origin 的远程库,并且,该远程库指向 gitee,之后就可以正常的使用 git push
和 git pull
上传了。
PS:Git 也可以实现本地仓库同时关联多个远程仓库(Gitee和GitHub),参考文章:廖雪峰Git教程