Git使用
教程:https://gitee.com/progit/
一般工作流程:
常用操作
工作区准备
从远程克隆项目:git clone git@feng/test.git
创建忽略文件.gitignore
,如:
# Maven #
target/
# IDEA #
.idea/
*.iml
# Eclipse #
.settings/
.classpath
.project
选择分支;
查看远程地址:git remote -v
查看所有远程分支:git branch -r
查看所有本地分支:git branch -a
新建本地分支:git branch xxx
切换本地分支:git checkout xxx
创建远程分支:git push origin xxx
在克隆的资源上添加或修改文件;
如果其他人修改了,你可以更新资源;
暂存本地修改:git stash
本地与远程同步:git pull
还原并删除暂存的内容: git stash pop stash@{id}
删除暂存的内容:git stash drop <stash@{id}>
在提交前查看修改;
查看修改的内容:git diff fileName
撤销文件的修改:git checkout fileName
添加文件到暂存区:git add fileName
取消修改到暂存区:git reset fileName
提交修改;
查看修改的状态:git status
普通提交(本地):git commit -m "notes"
使用指定log文件的形式进行提交(本地):git ci -F cimsg.txt
给提交点打标签:git tag -a v1.4 hashValue
提交标签到远程:git push origin v1.4
在修改完成后,如果发现错误,可以撤回提交;
查看提交记录:git log
查看修改记录:git show hashValue
撤销log修改1:git reset --hard hashValue
(恢复到之前某个提交的版本,且那个版本之后提交的版本都不要了)
撤销log修改2:git revert hashValue
(撤销之前的某一版本,保留该目标版本后面的版本)
合并/删除分支;
dev分支合并到master分支:
git checkout dev
git pull
git checkout master
git merge --no-ff dev
(会保存分支历史)
git push -u origin master
(会指定该主机为默认主机)
master分支更新到dev分支:
git checkout master
git pull
git checkout dev
git merge --no-ff master
git push -u origin dev
遇到冲突需要手动解决
删除本地分支:git branch -d xxx
删除远程分支:git push origin --delete xxx
更新到远程;
同步到最新状态:git pull origin master
提交到远程仓库:git push origin master
分支说明
- master:稳定的平台分支。仓库创建时,默认创建了master分支,master分支的每一个版本都必须是可发布的;
- develop:经过评审的开发分支。从master创建,且上面的提交是经过MR评审后的;
- 项目名:项目发布分支。项目经过PV评审后,从develop创建,以供后续项目运维分支,后续所有该项目的软件从此分支发布;
- dev_工程师:工程师开发临时分支。个人仓库,从develop fork的开发分支,开发人员确保功能完整、可评审后,可发起MR合并到develop,合并后删除;
Git使用——命令行方式
- 下载仓库
git clone git@xian/test.git
- 拉取最新内容
git pull origin master
- 查看分支
git branch -a
- 创建分支(可跳过)
git branch dev_sxf
- 切换分支(可跳过)
git checkout dev_sxf
- 修改工程内容
- 暂存本地修改的内容
git stash
- 切换到master分支
git checkout master
- 拉取最新内容
git pull origin master
- master分支更新到dev分支
git checkout dev_sxf
git merge --no-ff master
- 恢复暂存的内容
git stash pop
- 如果有冲突,就处理冲突
- 查看修改了文件的内容
git diff xxxfile
- 添加文件
git add xxxfile
- 查看修改状态
git status
- 创建
cimsg.txt
文件,写入log信息 - 使用指定的log文件,提交修改
git ci -F cimsg.txt
- 查看提交记录
git log
- 撤销commit
git reset --soft HEAD^
--soft
:不删除工作空间改动代码,撤销commit,不撤销git add .--mixed
:默认参数,不删除工作空间改动代码,撤销commit,并且撤销git add .--hard
: 删除工作空间改动代码,撤销commit,撤销git add . - 修改commit注释和补充添加文件
git commit --amend
- 推送分支到远程
git push origin dev_sxf
- 如果没有创建新分支,直接用的master分支,上传分支时要改名
git push origin master:dev_sxf
- 登录Gitlab后台,点击“创建合并请求” 按照提示,选择审核人,要合并的分支,以及commit msg,以及是否删除source branch也就是我们的个人分支(建议勾选MR后自动删除source branch分支)
- 完成后,删除远程分支
git push origin --delete xxx
Git使用——CLion方式
- 更新代码到最新
- 创建分支
- 切换分支
- 推送远程分支
- 合并请求、缓存工作区、恢复工作区