Git使用
教程: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_sxfgit 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方式
- 更新代码到最新
- 创建分支
- 切换分支
- 推送远程分支
- 合并请求、缓存工作区、恢复工作区