1. Git使用
1.1. 配置ssh秘钥
ssh-keygen -t rsa -C "xxxxx@qq.com"
cat ~/.ssh/id_rsa.pub
登陆你的github帐户。点击你的头像,然后 Settings -> 左栏点击 SSH and GPG keys -> 点击
New SSH key
然后你复制上面的公钥内容,粘贴进“Key”文本域内。 title域,自己随便起个名字。
点击 Add key
设置完后第一次需要输入。以后每次pull或者push就不用输入密码了。
1.2. 从gitlab clone 项目代码
当然你也可以直接在idea中直接clone下来
1.3. 常用配置
查看全局配置: git config --list
1. 对终端显示的配置,给文字添加颜色,更易于阅读
git config --global color.diff auto
git config --global color.status auto
git config --global color.branch auto
2.当我们向服务器提交代码时得有个用户名邮箱什么的,可以用如下命令进行设值
git config --global user.name "Your Name"
git config --global user.email "your@email.com"
1.4. 常用命令
1.4.1. 分支
查看分支:
git branch -a
某一个提交commitid存在于哪些分支branch上:
git branch -r --contains commitid
查看所有本地和远程的分支
git branch -ra
切换分支
git checkout <branch>
//创建本地分支并关联
git checkout -b 本地分支 origin/远程分支
远程分支与本地分支建立关联
git checkout -b <localbranch> origin/romatebracnh
若git clone之后想拉取某个指定分支:先git pull ,然后git checkout 指定分支名称
查看远程项目地址:git remote -v
拉取指定分支的代码:git clone -b 分支名 giturl
//已有本地分支创建关联
git branch --set-upstream-to origin/远程分支名 本地分支名
//拉取最新代码
git pull
1.4.2. 分支合并
合并到master分支:
首先切换到master分支上
git checkout master
然后把dev分支的代码合并到master上
git merge dev
1.4.3. 日志
1. 获取commit id
git log
2. 查看commit内容
git show commit_id
查看最近n次提交的修改
git log -p -n
指定n为1则可以查看最近一次修改的内容
git 查看某一个文件的(提交/修改)记录:
git log --pretty=oneline 文件路径
1.4.4. 其他
删除add到工作区的文件:
git restore --staged .idea/compiler.xml
1.5. 一个Git开源工具
SourceTree
下载www.sourcetreeapp.com/
1.5.1. idea 也很好用
1.6. git规范
1.6.1. 分支定义及规范
master
为主干分支,当develop分支测试完成后,合并到master分支
develop
为开发主干分支,用于汇集feature分支功能,各feature功能开发完成后合并到develop分支上
feature
为各开发开发功能时拉取的分支(如feature-xxx功能),功能开发完成后,需求合并到develop,该分支
删除
release
为版本发布分支,当一个版本稳固后,从master拉出release版本分支如(release-v1.1)
hotfix
修改bug的分支,从release分支中拉出的修复bug分支,命名为(hotfix-xxx),修复完成测试完毕
后,将代码合并到release分支;
1.6.1.1. 项目分支
项目可以建的分支分为master、develop、feature分支
1.6.1.2. 产品分支
产品可以创建的分支分为master、develop、feature、release、hotfix分支
1.6.2. 代码拉取和提交规范
要拉取代码的时候,需遵循以下规范
第一步:提交(commit)编写的代码到本地仓库
第二步:pull远端代码到本地,如果有冲突,解决冲突
第三步:push代码到远端服务器
坚决禁止不pull代码直接push的操作
1.6.3. 分支合并规范
1.只有Maintainer具有merge到develop和master分支的权限
2.开发人员将功能开发完成自测无问题之后,需要提起合并请求到目标分支前,必须先将目标分支的代
码合并自己的开发分支,解决完冲突后,再提起merge请求到目标分支,由Maintainer审核,注意这里
的目标分支一般是指受保护的 develop、master、release分支