【git配置及相应命令】
1、配置git。
配置命令为
// git bash 环境下
git config --global user.name "xxxx"(可以任取)
git config --global user.email "xxx@xxx"(与github/gitlab一致)
查看本地账号的配置信息
// git bash 环境下
git config --list
2、检查是否已有ssh key。
通常的保存位置在C盘的用户文件夹下,如我的ssh key保存在/c/Users/小米/.ssh/
下。
使用命令行查找的方式为:
// windows的cmd环境下
type %userprofile%\.ssh\id_rsa.pub
// git bash 环境下
cat ~/.ssh/id_rsa.pub
如果已经存在ssh key且邮箱名字正确,则使用现有的ssh key即可,否则生成新的ssh key。
3、生成新的ssh key。
// git bash 环境下,邮箱换成自己的
ssh-keygen -t rsa -C "your.email@example.com" -b 4096
如果电脑只配置一个ssh key,则一路回车即可。如果需要配置多个,则需要对新的ssh key进行重命名以免覆盖原有的ssh key。
4、复制ssh key。
可以直接找到ssh key的.pub文件进行复制,使用记事本即可打开。
也可以使用命令行进行复制,方法为
// git bash 环境下
cat ~/.ssh/id_rsa.pub | clip
5、将ssh key粘贴到github/gitlab中
github的粘贴位置在头像--setting--ssh key
中
gitlab的粘贴位置在头像--edit profile--ssh key
中
6、验证是否配置成功
// git bash 环境下
ssh -T git@github.com
//或者
ssh -T git@公司服务器地址
成功了会显示successfully。
【git的使用】
1、克隆项目到本地
选择要保存项目的文件夹,在文件夹上右键,选择git bash,进入gitbash环境。
在远程仓库中选择ssh,复制命令
// git bash 环境下
git clone "远程仓库地址"
//例如
git clone git@gitlab.com:qianyu3/gitlabfirsttry.git
在文件夹下看到.git文件则说明克隆成功。
2、提交代码
在仓库所在文件夹上右键,选择git bash,进入gitbash环境。
共分为add、 commit、push三步。
//将文件添加到暂存区
git add filename
git add -A //添加当前目录中的所有文件
git add . //添加当前目录中的所有文件更改
//将文件添加至本地仓库
git commit -m "提交信息"
//将文件从本地仓库push到远程仓库中
git push -u origin master
3、提交代码更新
远程仓库是多人不断进行更新的,因此在提交更新的时候会产生冲突,这时需要将远程仓库首先fectch到本地,解决冲突后再push到远程仓库中。
// 拉取远程仓库t
git fetch origin
//合并
git merge origin/master
然后执行步骤1向远程仓库push
查看仓库状态使用
git status
4、分支管理
通常项目的master分支(github中为main分支)是稳定的分支,只有当某工能开发成熟时才会向master分支提交,日常工作的分支为特征分支。
master分支通常设置为保护分支,只有通过review的代码才能够进行合并。在平时工作时,大多数时候是工作在特征分支上。
分支管理的形式有多种,具体方式根据企业需求而定,核心思想是既要保持敏捷开发,又要保证主分支的的稳定。
git所有操作均是基于当前分支进行的,所以当前分支非常重要。
1)创建分支
//创建分支
git branch 分支名
//切换分支
git checkout 分支名
//创建并切换分支
git checkout -b 分支名
//查看当前分支
git branch
2)合并分支
假设当前分支开发完毕,需要将分支合并到master分支中去,则首先将当前分支切换为master分支,再进行合并。
//切换到主分支
git checkout master
//合并分支
git merge dev(被合并的分支名)
//删除特征分支
git branch -d dev
3)解决冲突
当分支向主分支进行merge时,如果主分支已经发生了改变,则需要手动解决冲突,然后再次执行add-commit-push。
4)版本回退
本地进行修改后,不想进行提交,并且想将目前所做的修改回退到之前的版本,使用以下命令。
//显示从最近到最远的提交日志
git log
//每条日志显示一行
git log --oneline
//显示的log过多,使用q进行停止
q
//查看曾经使用过的命令
git reflog
//当前add的文件全部清除,回到上一次commit
git reset <--hard> head
//回到当前master的上一个commit
git reset <--hard> head^
//回到某个版本号的版本
git reset <--hard> 版本号
//将暂存区的文件拉回到工作区‘
git reset 文件名
转载:https://blog.csdn.net/AI414010/article/details/115830569