美文网首页
【饥人谷前端课程】Git

【饥人谷前端课程】Git

作者: 秋羊 | 来源:发表于2018-05-06 15:25 被阅读0次

    Git

    为什么要使用Git?

    关于版本控制

    版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订的情况的系统。

    • 本地版本控制系统
    • 集中式版本控制系统(SVN)
    • 分布式版本控制系统(Git)

    Git的优势

    • 速度
    • 简单的设计
    • 允许上千个并行分支
    • 分布式

    重要概念

    git中文件的三个状态:

    • 已提交(committed)
    • 已修改(modified)修改了某个文件,但还没有提交
    • 已暂存(staged)把已修改的文件放在下次提交是要保存的清单中

    Git基本命令

    起步

    初次使用需要设置姓名和邮箱

    git config --global user.name "你的姓名"
    git config --global user.email johndoe@example.com
    
    clone项目

    用于把一个Github项目clone 到本地变为本地仓库

    git clone git@github.com:jirengu/blog.git
    cd blog
    
    添加文件并提交
    #创建文件
    touch a.md
    #在文件里写入一个字符串
    echo "hello" > a.md
    #查看状态
    git status
    #添加全部(放入暂存区)
    git add .
    #提交(m加备注)
    git commit -am "add file"
    #push(origin master分支)
    git push
    git push origin master
    
    修改删除文件
    #把远程仓库的变动更新合并到本地仓库
    git pull
    #修改文件
    vim a.md
    git add .
    #这里需要注意,如果提交消息包含大量字符串,提交参数不用加 m
    #此时会进入 vim 界面,按i进入编辑状态进行编辑
    #编辑完成后按下esc进入命令态,输入:wq,保存退出vim
    git commit -a
    git push origin master
    rm -rf a.md 
    git add .
    #如果之前已经git push origin mater 过,后面可以直接简化成git push
    git push
    

    Git高级命令

    本地创建一个git项目推送到远程空仓库
    mkdir newProject
    cd newProject
    #把一个文件夹初始化成一个本地git仓库
    #注意仓库和文件夹的区别在于仓库下有一个隐藏的.git文件夹,里面有一些信息
    #对于一个仓库,删除.git文件夹,就变成一个普通的文件夹了
    git init
    
    touch index.html
    echo "hello" > index.html
    
    git add .
    git commit -am "init"
    
    #查看本地库里记录的远程库地址
    git remote -v
    #这里把远程的地址添加个标签叫origin
    git remote add origin git@github.com:jirengu/blog2.git
    #推送到远程库地址
    git push origin master
    
    #慎用,这样会强制推送,会覆盖别人的代码
    git push -f origin master
    
    #再添加一个远程库的标签
    git remote add gitlab git@gitlab.com:abc/blog.git
    
    #推送到gitlab标签的地址上
    git push gitlab master
    
    删除gitlab标签
    git remote remove gitlab
    
    #修改origin标签对应的地址
    git remote set-url origin git@github.com:jirengu/blog3.git
    
    #把gitlab标签改名为coding
    git remote rename gitlab coding
    
    分支操作
    #创建本地库dev分支
    git branch dev
    
    #切换到dev分支
    git checkout dev
    
    touch b.md
    git add .
    git commit -am "add b.md"
    
    #推送origin地址到dev分支上
    git push origin dev
    
    #把dev分支上的内容合并到当前(master)上
    git checkout master
    git merge dev
    
    冲突

    当自己和别人修改同一个文件的同一个地方,在执行git pull时更新本地合并是会出现冲突

    1. 修改冲突文件
    2. 重新提交

    相关文章

      网友评论

          本文标题:【饥人谷前端课程】Git

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