美文网首页
【基础笔记】Git 分布式版本控制系统

【基础笔记】Git 分布式版本控制系统

作者: 究极无敌棒棒糖 | 来源:发表于2019-11-09 17:11 被阅读0次

    什么是Git?

    • Git分布式版本控制系统(Version Control System),是把代码仓库完整地镜像下来,相当于每个人的电脑都是一个完整的版本库,这样的话,任何一处协同工作的服务器出现故障,都可以用任何一个镜像出来的本地仓库恢复。并且,即便在网络环境比较差的情况下也不用担心,因为版本库就在本地电脑上。
    • 工作原理/流程:


      gitTheory.png

      Workspace:工作区
      Index / Stage:暂存区
      Repository:仓库区(或本地仓库)
      Remote:远程仓库


    Git、Gitblit、GitHub、GitLab的区别

    GitblitGItHubGitlab这3个都是基于Git的版本控制系统。都可以通过Git软件来进行对代码管理的相关操作。

    • Github:最流行的开源项目托管仓库,很多大神的开源框架都可以在上面找到,后被微软收购。
    • Gitblit是使用钩子,通过钩子记录版本。是对同一个分支进行提交,之后再合并(目前公司在用,搭建的私有服务器)。
    • Gitlab拥有GItHub的一切,让团队对它们的repositories拥有更多的控制。可以设置project的权限,让用户分享一部分代码。提供了web界面,每个人通过创建的一个新分支来提交代码,一般用在企业、学校内部网络搭建git私服。

    Git的基本使用

    1. 安装Git:网上找到Git傻瓜式安装(略)Git下载地址

    2. 创建本地代码仓库及相关操作:

    ①. 配置用户信息
    鼠标右键找到Git Bash并打开,配置身份信息,这样在提交代码的时候Git就可以知道是谁提交的了。

    configGit.png
    ②.创建本地仓库
    给项目TestCode建立一个本地代码仓库,先进入到项目的目录下面
    TestCode.png
    接着在目下下面输入git init的命令,就创建好了本地代码仓库。 init.png
    ③. 删除本地仓库
    仓库创建完成后,会在TestCode根目录下生成一个隐藏的.git文件夹,这个文件夹是用来记录本地所有的Git操作的,如想删除本地仓库,只需要删除这个文件夹就可以了。 .giepng
    ④.提交本地代码
    add 用于把想要提交的代码先添加进来,而commit 则是真正地去执行提交操作。git add .添加所有文件,git commit -m "First 提交."提交,在commit 命令的后面,我们一定要通过-m参数来加上提交的描述信息,没有描述信息的提交被认为是不合法的。(git提交和修改多数在Android Studio中操作,暂不介绍如何在Git Bash进行操作和查看)

    ⑤. Git创建分支:

    • 为什么要创建分支
      在发布1.0版本的时候建立一个分支,然后在主干线上继续开发1.1版本的功能。当1.0版本上发现任何bug的时候,就在分支线上进行修改,然后发布新的1.0版本,并记得将修改后的代码合并到主干线上。这样的话,不仅可以轻松解决掉1.0版本存在的bug,而且保证了主干线上的代码也已经修复了这些bug,当1.1版本发布时就不会有同样的bug存在了。
    • 查看和创建分支
      git branch查看当前版本库中属于哪个分支,git branch version1.0创建名为version1.0的分支,使用git checkout version1.0切换到version1.0的分支上。(merge:合并代码)

    ⑥.忽略文件
    在项目根目录和app模块下的.gitignore的文件中可以查看,忽略上传的文件。Android Studio自动生成的一些默认配置,通常情况下,这部分内容都是不用添加到版本控制当中的
    ⑦.查看修改内容、文件变动、撤销未提交修改、查看提交记录:git statusgit diffreset HEAD <file> 和 git checkout <file>git log

    3. 与远程版本库协作

    ①.克隆代码
    git clone <url>

    ②.本地代码推送到远程版本库
    git push origin master其中origin 部分指定的是远程版本库的Git地址,master 部分指定的是同步到哪一个分支上

    ③.同步远程版本库代码

    • git fetch origin master,同步下来的代码并不会合并到任何分支上去,而是会存放到一个origin/master 分支上,用git diff origin/master查看远程版本库修改了哪些东西,git merge origin/master将origin/master分支上的修改合并到主分支上。
    • git pull origin masterpull命令则是相当于将fetch和merge这两个命令放在一起执行了,它可以从远程版本库上获取最新的代码并且合并到本地

    GitBLit的使用

    在csdn上找到很详细的一篇文章,包括创建项目,Colne,上传,提交等等这里就不赘述了。GitBlit的使用教程


    Android Studio中使用Git

    1. 在Android Studio中添加Git
    在File-->Settings-->Version Control-->Git中添加git.exe的地址

    git.exe
    2.update project
    在VCS工具栏下点击update project,默认选择下面两个选项
    update project
    merge 合并:采用合并的方式来更新代码,此时会产生一个commit,这也是一般常用的默认的操作,这个的好处是能够在log中看到所有的操作记录,但是对于代码洁癖来说,可能会无法接受。
    Rebase 保留本地项目代码:简单来说就是所有的本地commit都是默认放到远程的commit记录的顶部,log也只会有一条记录线,简洁,但是有时候排查问题会不方便。
    Branch Default 默认分支:每个分支都可以设置自己的update方式,可以在config中设置,这个是选择分支默认的方式
    如果本地和远程仓库都有改动会进入到Merge页面
    merge.png
    点击apply后会将merge之后的代码保存到本地。
    3.commit和Push

    commit之前一定先进行update project。

    点击VCS选择Commit。 Commit.png
    选择需要的改动事项后Commit and push。 commitWarning.png
    提示你有错误或者警告,警告可以不用管继续点击Commit and Push push.png
    此时进入到Push界面,会以时间降序的方式排位没有Push的Commit,右边是改动的文件,点击Push就可以提交到远程仓库了。如提示输入账号密码,输入之后就可以成功Push了。

    其他参考使用说明
    Git官方说明
    结合Gitlab在Android Studio中使用

    相关文章

      网友评论

          本文标题:【基础笔记】Git 分布式版本控制系统

          本文链接:https://www.haomeiwen.com/subject/anoybctx.html