GIT的常用操作
目录分支管理:配置篇乱码无法显示中文长期储存密码回滚篇reset 参数说明:远程版本回退:分支管理:master分支和dev分支不允许直接push初始时,master分支与dev分支相同,每个人从dev分支拉取个人开发分支或功能特性分支每个人在自己的开发分支上可以自由push,某个模块开发完成后在gitlab上发起merge req...
目录
分支管理:
- master分支和dev分支不允许直接push
- 初始时,master分支与dev分支相同,每个人从dev分支拉取个人开发分支或功能特性分支
- 每个人在自己的开发分支上可以自由push,某个模块开发完成后在gitlab上发起merge request合并到dev
- merge request成功后,如果是功能特性分支或bugfix分支,可直接删除,下次再从dev分支fork
- 鼓励频繁merge request,可相互指定review
- 为尽量避免merge request冲突,在发起MR之前,可先checkout 到dev分支,更新本地的dev分支,
再切换到个人分支,合并dev分支再push,最后发起MR
命令篇
-
1.开分支
git branch 新分支名 例如,在master分支下,新开一个开发分支: git branch dev
-
2.切换到新分支
git checkout 分支名 例如,在master分支下,切换到新开的dev: git checkout dev
-
3.开分支和切换分支合并到一个命令
git checkout -b 新分支名 例如,新开一个开发分支,并立即切换到该分支: git checkout -b dev
-
4.切换回原分支
git checkout 原分支名 例如,切换回master git checkout master 注意:当前分支有修改,还未commit的时候,会切换失败,应当先commit,但可以不用push
-
5.合并分支
git merge 需要合并的分支名 例如,刚刚已经切换回master,现在需要合并dev的内容: git merge dev 建议在GitLab(或者其他git系统)上面创建merge request的形式来进行分支的合并和代码审核。
-
6.查看本地分支列表
git branch -a 前面带remotes/origin 的,是远程分支
-
7.查看远程分支列表
git branch -r
-
8.向远程提交本地新开的分支
git push origin 新分支名 例如,刚刚在master下新开的dev分支: git push origin dev
-
9.删除远程分支
git push origin :远程分支名 例如,删除刚刚提交到远程的dev分支: git push origin :dev
-
10.删除本地分支
git branch 分支名称 -d 例如,在master分支下,删除新开的dev分支: git branch dev -d 注意:如果dev的更改,push到远程,在GitLab(或者其他git系统)上面进行了merge操作,
但是本地master没有pull最新的代码,会删除不成功,可以先git pull origin master,或者强制删除
git branch dev -D
11.更新分支列表信息
git fetch -p
12.添加.gitignore忽略文件后,执行以下命令
git rm -r --cached .
git add .
git commit -m "提交说明"
配置篇
乱码
执行git add命令时出现乱码
类似
\316\304\261\276\316\304\265\265.txt
编辑 C:\Git\etc\inputrc 文件中对应的行,查找以下2行,并修改其值, 原先:
set output-meta off
set convert-meta on
改为:
set output-meta on
set convert-meta off
无法显示中文
git config --global core.quotepath false
Git GUI乱码
git config --global gui.encoding utf-8
长期储存密码
去除每次push都弹出的提示输入密码
git config --global credential.helper store
回滚篇
请谨慎操作
- 恢复还没有提交到暂存区的文件修改
git checkout -- xxx文件名
git reset xxx文件名
- 恢复所有未提交更改
git reset
- 恢复暂存区的文件修改
git reset HEAD xx文件名
执行以上操作后,修改将会退回到未提交到暂存区之前,
然后想再次回滚,可执行git checkout -- xxx文件名
- 恢复暂存区某次提交的文件修改
git reset commitID xxx文件名
git checkout -- xxx文件名
reset 参数说明:
- git reset –mixed:
此为默认方式,不带任何参数的git reset,即时这种方式,它回退到某个版本,只保留源码,回退commit和index信息
- git reset –soft:
回退到某个版本,只回退了commit的信息,不会恢复到index file一级。如果还要提交,直接commit即可
- git reset –hard commitID:
彻底回退到某个版本,本地的源码也会变为上一个版本的内容
远程版本回退:
git无法在远程仓库上直接回退,需要把本地版本改成正确的版本过后,再提交到远程仓库。
git revert commitID
git push
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)