这是我参与「第五届青训营 」伴学笔记创作活动的第 5 天
拉取项目
使用ssh config配置文件来管理ssh连接
在电脑上.ssh文件夹中的config文件添加以下配置,没有就创建一个名为config的文件。
Host hostName的别名。
HostName 是目标主机的主机名,也就是平时我们使用ssh后面跟的地址名称。
User 指定的登陆用户名。
Port 指定的端口号。
配置本地用户名和邮箱
查看当前的本地用户名和邮箱
git config user.name
git config user.email
重新配置本地的用户名和邮箱,会覆盖掉以前的
git config --global user.name "用户名"
git config --global user.email "邮箱地址"
查看配置是否成功
git config --global --list
公钥
生成公钥 ssh-keygen -t rsa -C "邮箱地址"
查看公钥 cat ~/.ssh/id_rsa.pub
上传公钥到 gitlab
克隆代码到本地
git clone 项目链接
约定式提交
约定式提交 (conventionalcommits.org)
代码上传
三种分支代表啥含义?
- prod分支: 基本没有问题的代码,是feat特性分支经过在dev上的多次测试后的没问题的代码。
- dev分支:大家手上各个feat特性分支在这里测试,都是从feat分支合入的。
- feat分支:针对单独一个需求建立的,完成这个需求后被合入prod,结束。
创建fate分支
git check -b feat/story-xxx-xxx
git add.
添加全部文件到暂存区
git commit -m "feat:简述本次提交"
提交到暂存区
gti push origin feat分支名称
其他一些git命令
git status
查看状态
git log
查看提交的状态
git reset
将尚没有commite之前加入到暂存区的文件重新拉回
文件状态:
- 没有被add过的文件叫untracked
- add之后文件处于staged状态等待commite
- commit之后文件处于unmodified这里之所以是modified是因为文件会跟仓库中的文件对比
- 当unmodified的文件被修改则会变为modified状态
- modified之后的文件add之后将继续变为staged状态
- unmodifed的文件还有一种可能是已经不再需要了,那么可以remove它不再追踪变为untracked状态
分支
git checkout -b 分支名
以参考分支为模板创建新分支
git checkout 分支名
切换到指定分支
git branch
查看本地所有分支
git merge 分支名
合并分支的变更
手动解决冲突
git fetch
监测远程仓库(查看分支)
git remote -v
查看远程仓库地址