git分支管理

Git是目前项目中常用的版本管理工具, 当开发者只有一个人的时候基本用不到分支管理,但是当多个开发者协同工作时,分支管理就显得非常重要了。

分支管理首先可以让你在不影响现有版本的情况下开发新功能,还可以在不影响使用的情况下修复bug。

下面就说说,常用的分支相关的命令。

git branch -a    用于查看所有的分支(包括服务器端和本地分支),其中前面带星号 * 的表示工作在当前分支上

git branch      仅查看的是本地分支

git branch -v      查看每一个分支的最后一次提交

git branch 分支名    创建一个本地分支(仅仅是创建,并不会切换到创建的分支上)

git checkout 分支名   切换到该分支上。切换分支需注意:一定要注意你工作目录里的文件会被改变。 如果是切换到一个较旧的分支,你的工作目录会恢复到该分支最后一次提交时的样子。 如果 Git 不能干净利落地完成这个任务,它将禁止切换分支。

git checkout -b test   创建 test 分支,并切换到 test 分支

git merge test   合并test分支,此时一定要先切换到你要merge的分支上

git branch -d test   删除test分支,当你将test分支合并到主分支之后,test分支已经没有用了,此时可以使用此命令删除掉。如果该分支有未合并的工作 删除时会失败,-d --> -D 会强行删除。

当你分支太多导致不清楚那个合并,那个未合并时,可以通过

git branch --merged   来查看已经合并的分支,

git branch --no-merged   来查看未合并的分支

 

git ls-remote   可以显式地获得远程引用的完整列表

git remote add  添加一个新的远程仓库引用到当前的项目

git fetch   从服务器上抓取本地没有的数据时,它并不会修改工作目录中的内容。 它只会获取数据然后让你自己合并。

git pull    在大多数情况下它的含义是一个 git fetch紧接着一个 git merge 命令。

      如果有一个像之前章节中演示的设置好的跟踪分支,不管它是显式地设置还是通过 clone 或 checkout 命令为你创建的,

      git pull 都会查找当前分支所跟踪的服务器与分支,从服务器上抓取数据然后尝试合并入那个远程分支。

 

git diff   查看本地资源和远程资源的差别。

 

Git 经常有一些命令的组合用法。

在本地:

git checkout -b dev   新建并切换到本地dev分支

git pull origin dev    本地分支与远程分支相关联

在本地新建分支并推送到远程

git checkout -b test

git push origin test   这样远程仓库中也就创建了一个test分支

 

关于 gitignore 文件,如果是先上传了一部分,然后才配置的 ignore 文件,则不会生效。

需要如下操作:

git rm -r --cached .

git add .

git commit -m "update .gitignore"

例如:

创建 uniAPP项目,最开始将 unpackage 文件夹也上传了,然后才添加的 .gitignore 文件。此时是不会生效的。

因为 当你在git库中编写某些代码文件,并已经stage该文件之后,你发现某个文件你不想用了,想在以后的改变中忽略它。然后你再你的.gitignore文件中加入该文件名,结果它并没有被忽略。
**.gitignore文件只是ignore没有被staged(cached)文件,对于已经被staged文件,加入ignore文件时一定要先从staged移除。

所以需要:


git rm -r --cached unpackage/

git add .

git commit -m "xxxxx"

 

你可能感兴趣的:(git分支管理)