Git commit -m ""
只会提交添加到缓存区的文件(只提交添加的)
git commit -a -m ""
能提交修改过,但是没有添加到缓存区的文件(修改过的就能提交)
在修改文件后,需要使用git add把文件加入暂存区,这样git commit时才能把已经修改的信息加入版本库,而使用git commit -a可以不用再git add。
git pull
相当于是从远程获取最新版本并merge到本地
git fetch
相当于是从远程获取最新版本到本地,不会自动merge,需要手动合并merge
git merge –no-ff
可以保存你之前的分支历史。能够更好的查看 merge历史,以及branch 状态
git merge
则不会显示 feature,只保留单条分支记录
git push origin develop
origin表示远程主机名,develop表示分支名
git push origin master
的意思就是上传本地当前分支代码到master分支。
git push
是上传本地所有分支代码到远程对应的分支上。
在当前目录新建一个Git代码库
$ git init
新建一个目录,将其初始化为Git代码库
$ git init [project-name]
下载一个项目和它的整个代码历史
$ git clone [url]
添加指定文件到暂存区
$ git add [file1] [file2] ...
添加指定目录到暂存区,包括子目录
$ git add [dir]
添加当前目录的所有文件到暂存区
$ git add .
列出所有本地分支
$ git branch
列出所有远程分支
$ git branch -r
列出所有本地分支和远程分支
$ git branch -a
新建一个分支,但依然停留在当前分支
$ git branch [branch-name]
新建一个分支,并切换到该分支
$ git checkout -b [branch]
回退到以前版本
$git log
得到以前版本的commit id
$git reset --hard id
第一次先下载项目➜ ~ git clone xxxx.git
- 更新本地dev分支代码:git pull origin dev
- cd到项目的文件下,从dev中拉出功能分支:git branch feature-xxx
- 查看本地分支:git branch
- 切换本地分支:git checkout 分支名称
分支命名规范
- 功能分支以feature-开头
- 发布分支以release-开头,版本号从1.0.0开始
- 修改bug分支以hotfix-开头
feature分支提交规范
- c到本地feature分支
git commit -a -m "必须要写清楚提交的内容,不可以随意乱写"
当前分支代码没有完全提交时是无法切换到其他分支的 - 切换到develop分支
git checkout dev - 更新develop分支代码
git pull origin dev - 将featrue分支合并到develop分支
git merge --no-ff feature- - 有冲突是需解决冲突
在当前develop解决冲突就好,不需要再切换回feature分支
不冲突的代码实际上在这个时候已经合并到develop分支上了 - 在develop分支提交解决完冲突的代码
git commit -a -m "解决冲突" - 推送到gitLab的分支
git push origin develop - 删除本地feature分支
git branch -d feature
release分支提交规范
- 从远程获取release分支到本地,并切换到release分支
git fetch origin
git checkout –b release-1.0.0 origin/release-1.0.0 - 从release分支创建新的分支
git checkout –b bugfix-xxx release-1.0.0 - 在本地bugfix分支进行bug修复
- 提交代码到本地bugfix分支
git commit -a -m "必须要写清楚提交的内容,不可以随意乱写"
提交前将本地修改过的配置文件进行还原 - 切换到release分支
git checkout release-1.0.0 - 更新release分支代码
git pull origin release-1.0.0 - 将bugfix分支合并到release分支
git merge --no-ff bugfix-xxx - 有冲突是需解决冲突
在当前release解决冲突就好,不需要再切换回bugfix分支
不冲突的代码实际上在这个时候已经合并到release分支上了 - 在release分支提交解决完冲突的代码
git commit -a -m "解决冲突" - 推送到gitLab的分支
git push origin release-1.0.0 - 删除本地bugfix分支
git branch -d bugfix-xxx - 删除本地release分支
git branch -d release-1.0.0