美文网首页
Git 入门

Git 入门

作者: 小懒喵_ | 来源:发表于2018-01-28 15:30 被阅读2次

    一、Git简介

    Git是什么
    Git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件(版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统)。

    Git的优势

    • 提交速度快,操作流畅
    • 分布式版本控制
    • 支持离线操作
    • 开源项目

    Git与Github的区别
    很多刚接触的朋友都会误以为Git就是GitHub(或者GitHub就是Git),但实际上,
    Git 是一款免费、开源的分布式版本控制系统。
    Github 是用Git做版本控制的代码托管平台。

    安装Git

    Git工作区、暂存区、版本库介绍

    工作区(Workspace)
    工作区就是你在电脑中能看到的那个目录。例如我们创建了一个名为project的文件夹,而这个文件夹就是一个工作区。

    版本库(Repository)
    在初始化git版本库之后会生成一个.git的隐藏文件 ,这个不算工作区,而是Git的版本库。

    暂存区(Stage)
    Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区,还有Git为我们自动创建的第一个分支 master ,以及指向 master 的一个指针叫HEAD。暂存区只是一个保存临时修改文件的地方。

    使用Git进行版本控制的文件都处于以下三种状态之一:

    已修改(modified)修改了某个文件,但还没有提交保存。

    已暂存(staged)把已修改的文件放在下次提交时要保存的清单中。

    已提交(committed)该文件已经被安全的保存在本地数据库中。

    二、Git常用命令

    设置Git用户信息
    初次使用Git时需要设置提交代码时的用户名称和邮件地址

    $ git config --global user.name “用户姓名”
    $ git config --global user.email “邮件地址”
    

    clone项目

    # 将GitHub上已有的项目clone(下载)到本地,变为本地仓库
    
    $ git clone git@github.com:user/blog.git
    
    # 切换到blog目录
    
    $ cd blog
    

    添加文件并提交

    # 创建文件
    
    $ touch a.md
    
    # 在文件中导入字符串
    
    $ echo “hello” > a.md
    
    # 查看仓库当前的状态。新建的文件若要被跟踪管理,需要将文件添加到暂存区。
    
    $ git status
    
    # 把当前目录下的所有新增或修改的文件全部添加到暂存区
    
    $ git add .
    
    # 查看文件状态。当文件已被跟踪管理放入暂存区后可以进行提交操作。
    
    $ git status
    
    # 撤销文件在暂存区的储存
    
    $ git reset HEAD <file>...
    
    # 把暂存区的更新信息提交到本地库
    
    $ git commit -am “注释”
    
    # 把当前本地仓库里已修改文件推送到远程仓库(origin)的master分支
    
    $ git push origin master
    

    修改删除文件

    # 当远程仓库文件有变动,需要把远程仓库的变动更新合并到本地仓库
    
    $ git pull
    
    # 修改文件,输入i 进行文件编辑修改,命令 :wq 保存退出
    
    $ vim a.md
    
    # 查看文件状态,当你修改一个文件之后,这个文件就处于已经修改待放入暂存区的状态。
    
    $ git status
    
    # 把当前目录下的新增或修改的文件添加到暂存区
    
    $ git add .
    
    # 提交消息
    
    $ git commit -am “注释"
    
    # 把当前本地仓库里已修改文件推送至远程分支
    
    $ git push origin master
    
    # 如果之前 git push origin master 过,后面可以直接简化成 git push
    
    $ git push
    
    # 删除文件 a.md
    
    $ rm -rf a.md
    
    $ git add .
    
    $ git commit -am “删除“ a.md ”
    

    本地创建一个git项目推送到远程空仓库

    # 创建一个新的newproject文件
    
    $ mkdir newproject
    
    # 切换到newproject
    
    $ cd new projects
    
    # 创建一个新的空文件 README.md
    
    $ touch README.md
    
    # 查看文件状态,创建文件后需要把本地文件变为git仓库才可以进行控制管理
    
    $ git status
    
    # 初始化这个本地文件夹为一个Git可以管理的仓库,注意,空文件才能执行 git init 
    
    # 不要对clone的项目执行 git init 会将之前的信息内容抹掉
    
    # 需要让命令行终端处在当前文件目录下
    
    $ git init
    
    # 给远程仓库地址添加标签命名 origin 并保存
    
    $ git remote add origin git@github.com:abc/blog.git
    
    # 将本地仓库推送到gitlab标签远程仓库地址的主分支上
    
    # 在第一次进行push时,需要加上 -u 参数,后期push时就不用再加 -u 参数了
    
    $ git push -u origin master
    
    # 查看本地库里记录的远程库地址
    
    $ git remote -v
    
    # 将当前分支强制推送到主干上,需慎重使用,会将他人的代码覆盖
    
    $ git push -f origin master
    
    # 添加一个远程库的标签
    
    $ git remote add gitlab git@github.com:abc/blog.git
    
    # 删除 gitlab 标签
    
    $ git remote remove gitlab
    
    # 修改 origin 标签对应的地址
    
    $ git remote set-url origin git@github.com:abc/blog.git
    
    # 修改标签命名,将 github 标签名改名为coding
    
    $ git remote rename gitlab coding
    

    分支操作

    # 查看所有分支
    
    $ git branch -a 
    
    # 创建本地库 dev 分支
    
    $ git branch dev
    
    # 查看所有分支
    
    $ git branch -a 
    
    # 切换到 dev 分支
    
    $ git checkout dev
    
    # 将本地库推送到远程仓库的 dev 分支上
    
    $ git push origin dev
    
    # 将 dev 分支上的内容合并到主干上
    
    $ git merge dev
    
    # 推送到远程 master 
    
    $ git push origin master
    

    以上即为Git的一些基础知识,文中有错误的地方烦请大家指正,感谢。

    参考资料
    Git教程 - 廖雪峰的官方网站

    相关文章

      网友评论

          本文标题:Git 入门

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