[Git入门]上班第一天,如何快速开始工作
本节课会学习Git的本地安装以及配置
假如,经过重重面试,你终于入职了一家公司,上班第一天,你要如何快速开始工作呢。
安装Git
首先,你要在本地安装Git环境,去Git的官网 git-scm.com/downloads 下载安装包。具体的下载和安装过程我这里就不讲了。安装好了之后,可以在终端输入命令:
git --version
如果输出了具体的版本号,那么就说明安装完成了。
我本地的输出版本是:2.6.3。
本地配置环境
安装好Git后,需要对Git进行配置,这样你提交的代码,才能自动带上你的个人信息。
配置全局的用户名和邮箱
首先对Git配置全局的用户名和邮箱。这个会添加在你提交代码的commit信息中,用于自动记录当前commit是谁提交的。
git config --global user.name "你的名字"
git config --global user.email "你的邮箱"
配置公钥
现在的远程仓库,都支持使用SSH的方式来拉取和推送代码。如果不使用SSH方式,每次拉取和推送代码,都需要输入用户名和密码,相当麻烦!配置SSH访问,我们需要有私钥和公钥。
第一步:本地生产公钥和私钥。
ssh-keygen -t rsa -C "xxxxx@xxxxx.com"
注意:这里的 xxxxx@xxxxx.com 只是生成的 SSH Key 的名称,并不约束或要求具体命名为某个邮箱。使用邮箱生成可以理解成是一个约定俗成的东西,一开始的初衷仅仅是为了便于辨识所以使用了邮箱。
直接三次回车,什么都不用填,即可生成 SSH Key。
通过查看 ~/.ssh/id_rsa.pub
文件内容,获取到你的公钥(public key)。
cat ~/.ssh/id_rsa.pub
然后拷贝这个文件内容,去公司的代码管理平台的网站(gitlab,github,gitee等)上配置公钥。一般的路径是仓库主页(随便哪个仓库) -> 管理 -> 管理公钥 -> 添加公钥。
把上面id_rsa.pub
的文件内容拷贝到公钥中,添加保存完成。
如果你本地既有公司的仓库(比如是gitee.com上的),也有开源的仓库(比如是github.com上的)。那么本地就需要配置两个SSH Key。具体方法后面的文章会讲。像我上面的截图中,.ssh目录下既有id_rsa.pub,又有gitee_id_rsa.pub就是因为需要访问多个网站。
git clone
好了,完成上面的配置,你就可以拉取项目的代码仓库了。
首选要获取到Git仓库的SSH地址。一般都会在仓库页面的右上角,这里拿gitee举例。
在某个仓库的右上角,有一个“克隆/下载”,点开之后,SSH标签下面的链接,就是这个仓库的SSH地址。拷贝后,进入本地终端,输入命令:
git clone git@gitee.com:xxxxxxxxx.git
那么Git就会拉取这个仓库的代码到本地了。
git checkout
如果你的第一个项目是某位同事已经在开发了,需要你协助完成项目下,一般情况下,他已经建好了分支。那么,你提交的代码需要放到他所建的分支下面。
所以你要将你的本地分支切到对应项目的分支,比如分支名叫 feature/xxx。
git checkout feature/xxx
到这一步,你就才可以开始写代码了!!!
git commit
你开发完某个功能后,你需要把你的代码提交到分支上。
# 添加本次修改的文件,.表示添加所有改动文件
git add .
# 提交改动,并添加改动信息
git commit -m '本次改动信息'
到这一步,你的代码已经提交,但是提交的是本地仓库,还没有推动到远程仓库,只有推送到远程仓库,你的同事才能拉取到你改动的代码。
git pull & git push
最后,你需要把本地仓库的改动(一个或者多个commit)推送到远程仓库。在这里,需要先同步下远程仓库的代码,避免别人有新提交,导致你无法推送。
如果遇到冲突,那么需要解决冲突,再重新走一遍commit。
# 在本地同步远程仓库代码
git pull
# 中间可能会出现代码冲突,需要代码合并
# 遇到代码冲突,解决冲突后,需要重新走一遍commit
# 推送代码
git push
到这一步,你的同事就可以拉取你最新提交的代码,然后进行打包,进入提测了。 而你,也完成了进入公司后,第一个项目的代码开发。
总结
本课学习了如何安装和配置Git的本地环境,以及如何进入代码开发工作。这中间提到了很多名词,比如拉取,推送,远程仓库,commit等,明白这些概念,对后续学习Git的操作很有帮助,所以下节课我们会先介绍这些概念的意思。之后再学习具体的Git的操作。
然后,公司在使用Git做代码管理时,都会有一个工作流程,用于约定项目分支和代码提交合并等流程。下下节课我们就讲讲Git的工作流。
转载自:https://juejin.cn/post/7205161917421338661