git是一个分布式版本控制软件,可以更方便的管理我们的代码,git首先有一条master分支,这是发布稳定版,一般不会对master进行修改,当有新需求的时候,从master上分出一条develop分支,具体开发人员在从develop上分出自己具体feature分支,开发完毕后合并回develop分支,测试人员从develop分支分出release分支进行测试,没有问题了合并到master分支发布。如果线上有bug需要处理,则从master上分出hotfix分支,用来解决bug
当我们修改代码时可以用git指明修改的原因
要使用git 我们还要在我们的电脑上安装gitBash 可以自行百度,GitHub上也有
安装完后,要创建一个仓库,可以理解一个文件夹或者目录,目录中的文件都被git管理起来
新建目录初始化
mkdir testgit cd testgit
从当前目录初始化
$ git init
查看仓库状态:
git status
添加到暂存区:
git add fileA fileB fileC ....
git add .表示添加该目录下的所有文件
提交到本地仓库:
git commit -m “remarks”
查看修改内容(工作区和仓库的区别):
git diff (file)
查看版本(参数可以简化版本信息,commit id和备注):
git log --pretty=oneline
在 Git中,用HEAD表示当前版本,也就是最新的提交commit id,上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100。
回退到上一个版本 :
git reset --hard HEAD^
丢弃工作区的修改(撤销):
git checkout -- file
删除文件:
- 正确操作:git rm file git commit -m “remove file”(文件被删除)
- 操作失误:git checkout -- file(文件被恢复)
查看当前分支:
git branch (-a)
新建分支:
git branch develop(只是新建了一条分支,并未切换)
切换分支:
git checkout develop
新建并切换分支:
git checkout -b feature(相当于3.10和3.11两步操作)
删除分支:
git branch -d feature(注意:不能删除当前所在分支)
合并分支(--no-ff参数,表示禁用Fast forward):
git checkout develop && git merge feature(把feature分支合并到develop分支)
- 因为我们创建Git版本库时,Git自动为我们创建了唯一一个master分支, 所以默认git commit就是往master分支上提交更改。
- 如果要丢弃一个没有被合并过的分支,可以通过
git branch -D <branch>
强行删除。 - 建立本地分支和远程分支的关联,使用git branch --set-upstream branch-name origin/branch-name;
我们也可以添加远程的git管理,如GitHub,gitlabe
git remote add dcmsStatics4.5git(别名)http://gitlab.cephchina.com/ccod_project/dcmsstatics4-5git.git