初识Git

作者: Dxes | 来源:发表于2020-05-16 11:08 被阅读0次

    什么是Git?

    ​ Git是一个分布式版本控制软件,可以有效、高速的处理从很小到非常大的项目版本管理。

    ​ 分布式相比于集中式的最大区别在于开发人员可以提交到本地,每个开发人员通过克隆命令,在本地机器上拷贝一个完整的Git仓库。

    ​ 下图是经典的Git开发过程。

    git图片.jpg

    Git有什么用?

    从一般的开发人员角度来看,git有以下功能::
    1. 从服务器上克隆完整的Git仓库(包括代码和版本信息)到本地。也可以克隆项目的其它版本

    2. 在本地根据不同的开发目的,创建分之,修改代码。

    3. 在本地自己创建的分之上提交代码。

    4. 在本地合并分之。

    5. 可以将服务器上最新的项目版本pull下来,与自己的主分支进行代码合并。

    6. 可以生成补丁(patch),将补丁发送给主开发者。

    7. 看主开发者的反馈,如果主开发者发现两个一般开发人员之间代码有冲突

    ,就会要求他们先解决冲突,然后再由其中一人提交。如果主开发人员可以自己解决,或者没有冲突,就通过。

    1. 一般开发者之间解决冲突的方法,使用pull命令解决冲突,解决完冲突之后在向主开发人员提交补丁。

      从主开发人员的角度(假设他不用谢代码)看,git有以下功能:
    2. 查看邮件或通过其他方式查看一般开发人员的提交状态。

    3. 打上补丁,解决冲突(可以自己解决,也可以要求开人员解决,如果项目是开源的,还要决定哪些补丁有用,哪些补丁不用)

    4. 向公共服务器提交结果,然后通知所有开发人员。

    Git的优点:

    适合分布式开发、强调个体、公共服务器和数据量都不会太大,速度快、灵活,任意两个开发者之间可以很容易解决冲突、可以离线工作。

    开发中常用的Git命令有哪一些?

    git命令速查.jpg

    基本指令

    命令 解析
    git init 初始化文件夹,新建git仓库
    git clone <url> 将服务器上的项目(仓库)克隆到本地
    git add <filename> 将本地文件仓库文件放入缓存区
    git add . 将所有文件放入缓存区
    git reset --hard HEAD 撤销工作目录中所有未提交文件的修改内容
    git reset --hare 版本号 回到指定的版本
    git commit -m 'commit message' 将缓存区中的内容全部提交到git本地仓库中
    git revert <commit> 撤销指定的提交
    git checkout HEAD <filename> 让工作区中的指定文件,回到上次提交时的状态
    git status 查看状态
    git log 查看日志
    git remote add <remote> <url> 关联远端仓库
    git push <remote> <branch> 上传代码并且快速合并

    git在初次使用时需要配置提交代码的用户信息:

    git config [--global] user.name "[name]"
    git config [--global] user.email "[email address]”
    # --global 表示在全局配置配置
    

    在使用git fetch时,它是将远端服务器的最新内容拉到本地,并不会自动合并而使用git pull命令在远端服务器拉代码会自动合并,相当于git pull = git fetch + git merge,这样可能会产生冲突,需要手动解决

    怎么避免冲突:不要发生多个分支对同一个文件在同一个版本下进行修改(和同伴确认和商量)

    分之管理

    命令 解析
    git branch [-a] 查看本地所有分之
    git branch<branch name> 创建新的分之
    git checkout <branch> 切换分之
    git checkout -b <branch> 创建分之并切换分之
    git merge <branch> 让当前分之和指定分之进行合并
    git diff <branch1><branch2> 查看两个分之之间的差异

    注意:在执行切换分支、push、pull,这些操作前需要保证工作区clean

    相关文章

      网友评论

          本文标题:初识Git

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