Git 版本控制器的使用

简介:Git 是分布式的版本控制系统,即没有中央服务器,每个人的电脑就是一个完整的版本库。

工作区和暂存区的区别:工作区 就是你在电脑上看到的目录。版本库 工作区的.git目录不属于工作区,是版本库,版本库里面有暂存区,还有Git为我们自动创建了第一个分支master,以及指向master的一个指针HEAD。

操作相关:

 一、创建版本库:利用终端在某目录下执行 git init 命令,把这个目录变成git可以管理的仓库

 二、把文件添加到版本库中:

       1、git add . 把修改的所有文件添加到暂存区里面去

       2、git  commit 告诉git,把文件提交到仓库

       3、git status 查看当前目录状况,是否有未提交的文件

       4、git diff 文件名 查看这个文件修改了什么内容

 三、版本回退:

       1、git log 查看提交的历史记录 

       2、git reset  –hard HEAD^ 回退到上一个版本 

       3、git reset  –hard HEAD~100 回退到前100个版本 

       4、git reset  –hard 版本号 退到(版本号)时的版本

       5、git reflog 获取所有提交过的版本的版本号

       6、git checkout –文件名 把文件在工作区的修改全部撤销,这里有2种情况:

            1、修改的文件未放到暂存区,撤销修改就回到和版本库一模一样的状态。

            2、已放入暂存区,接着又作了修改,撤销修改就回到添加暂存区后 的状态。

            所以 git checkout –文件名 的操作是想要工作区的内容和版本库中一致,假设某文件在工作区中已删除,也可使用 git checkout –文件名 从版本库中将其恢复

 四、远程仓库:

        给本地仓库创建一个远程仓库并且同步文件,利于多人协作。利用终端在本地的仓库目录下执行 git remote add origin (示例)https://github.com/tugenhua0707/testgit.git,这两个仓库就关联上了。 git push -u origin master  把            本地分支 master 的内容推送到远程仓库中去。 -u 参数是为了让git 把本地master分支与远程master分支相关联,后续提交就不需要了。 git clone 远程仓库地址,可将远程库克隆到本地,Git自动把本地的master分支和远程的              master分支对应起来了,并且远程库的默认名称是origin。 git remote 要查看远程库的信息,git remote –v 查看远程库的详细信息。

 五、创建与合并分支:

         1、git checkout -b dev 意思是创建一个dev分支并切换到这个分支上

         2、git branch 查看所有本地分支

         3、git branch -a 查看所有分支(本地和远程)

         3、git checkout dev 切换到dev分支

         4、master分支上,使用如下命令 git merge dev,就是在master分支上合并dev分支的内容

         5、git branch -d dev 删除 本地dev分支

         6、git checkout  –b dev origin/dev  把远程的origin的dev分支到本地来

 六、解决冲突:

         1、<<<HEAD指主分支修改的内容,>>>>>fenzhi1 是指fenzhi1上修改的内容 手动修改然后再提交

         2、首先master主分支应该是非常稳定的,也就是用来发布新版本,一般情况下不允许在上面干活,干活一般情况下在新建的dev分支上干活,干完后,比如上要发布,或者说dev分支代码稳定后可以合并到主分支master上来。

         3、bug分支:在开发中,会经常碰到bug问题,那么有了bug就需要修复,在Git中,分支是很强大的,每个bug都可以通过一个临时分支来修复,修复完成后,合并分支,然后将临时的分支删除掉。一些修复bug分支不需要推送到远程去,可以先合并到主分支上,然后把主分支master推送到远程去。

         4、git stash 保存工作现场并将其隐藏起来。比如我在dev分支上的修改还没完成,不能提交,但是我又要新建一个分支去做别的更紧急的事,此时可用 stash 指令暂存dev分支上的内容,再回来时用 git stash list指令查看所有缓存,git stash apply恢复,恢复后,stash内容并不删除,你需要使用命令git stash drop来删除。另一种方式是使用git stash pop,恢复的同时把stash内容也删除了。

         5、当我执行 git push origin dev 时若是发生错误,此时先用git pull把最新的提交从origin/dev抓下来,然后在本地合并,解决冲突,提交,再推送。

posted @ 2019-05-22 16:09  小妮子的奋斗时代  阅读(94)  评论(0编辑  收藏  举报