• Git从入门到放弃


    开始

    Git官网

    Git 是一个开源的分布式版本控制系统,用以有效、高速的处理从小到大的项目版本管理。

    在 Git 中,文件一共有三种状态,分别是:

    • 已修改(modified):表示修改了文件,但是还没保存到数据库中。
    • 已暂存(staged):表示对一个已修改文件的当前版本做了标记,并使之包含在下次提交的快照中。
    • 已提交(committed):表示数据已经安全的保存在本地数据库中。

    安装

    安装 Git

    经过上面链接安装完成后,可以使用如下命令查看当前 Git 版本

    git --version
    

    配置

    当我们首次成功安装完成后,需要对 Git 进行如下配置:

    git config --global user.name xxx  //把xxx替换成你的英文名字随便什么都行
    git config --global user.email yyy  //把yyy替换成你的邮箱
    git config --global push.default matching
    git config --global core.quotepath false  
    git config --global core.editor "vim"  //使用vim编辑提交信息
    

    注意:一定要进行上述配置,否则后面会出问题!

    配置完成后,我们可以使用如下命令来检查所配置的列表信息

    git config --list
    

    也可以使用git config <verb>形式来检查某一项的配置,例如:

    git config user.name
    git config user.email
    

    Git帮助

    如果我们想要获取 Git 的相关帮助,可以使用如下命令:

    git
    git help
    git help <verb>
    git help config    //获取config命令的手册
    

    获取仓库

    在 Git 中,有两种方式可以获取仓库。

    本地初始化项目

    使用如下命令进行项目初始化:

    git init
    // or
    git init 仓库名
    

    初始化项目后,该命令会创建一个名为.git的子目录,该目录是隐藏文件。

    克隆已有的仓库

    git clone [url]
    git clone [url] 自定义仓库名
    # 例如
    git clone git@github.com:LqZww/vue-notes.git demo
    

    检查当前文件的状态

    如下命令可以查看文件当前是处于什么状态的:

    git status
    

    下列命令可以更简洁的方式查看更改:

    git status -s
    # or
    git status --short
    

    如果git status命令的输出对于你来说过于模糊,你想知道具体修改了什么地方,可以使用git diff命令。


    忽略文件

    有时候我们有些文件无需进行Git的管理,也不希望它们总出现在未跟踪文件列表。通常都是些自动生成的文件,比如日志文件,或者编译过程中创建的临时文件等。

    在这种情况下,我们可以创建一个名为.gitignore的文件,列出要忽略的文件的模式。

    .gitignore文件的格式规范如下:

    • 所有空行或者以 # 开头的行都会被 Git 忽略。
    • 可以使用标准的 glob 模式匹配(glob模式是指shell所使用的简化了的正则表达式)。
    • 匹配模式可以以(/)开头防止递归。
    • 匹配模式可以以(/)结尾指定目录。
    • 要忽略指定模式以外的文件或目录,可以在模式前加上惊叹号(!)取反。

    添加并提交

    将所有修改添加至暂存区:

    git add .
    

    提交版本:

    git commit -m "描述"
    git commit -v    //进入vim模式
    

    跳过使用暂存区域:

    git commit -a -m '描述'
    

    只要在提交的时候,给 git commit 加上 -a 选项,Git 就会自动把所有已经跟踪过的文件暂存起来一并提交,从而跳过 git add 步骤。


    查看历史提交

    使用如下命令来查看历史版本记录:

    git log
    

    不传入任何参数的默认情况下,git log 会按时间先后顺序列出所有的提交,最近的更新排在最上面!

    git log -p    //可以查看添加的详细内容
    git log --oneline    //会将每个提交放在一行显示,在浏览大量的提交时非常有用
    

    撤销操作

    有时候我们提交完了才发现漏掉了几个文件没有添加,或者提交信息写错了。此时,可以运行带有 --amend 选项的提交命令尝试重新提交:

    git commit --amend
    

    回退到指定的历史版本:

    git checkout 版本号
    

    撤回上一个版本:

    git checkout -
    

    标签

    列出所有标签:

    git tag
    git tag -a 标签名 -m "备注"
    

    为指定版本添加标签:

    git tag -a 标签名 -m "备注" 版本号
    

    查看某个标签的详细信息:

    git show 标签名
    

    回到至标签所在的提交:

    git checkout 标签名
    

    显示所有记录:

    git log --oneline --all
    

    将tag提交到远程:

    git push --tags
    

    分支

    创建分支:

    git branch 分支名
    

    切换分支:

    git checkout 分支名
    

    图示全部历史记录:

    git log --all --graph
    

    创建并切换至分支:

    git checkout -b 分支名
    

    合并分支:

    git merge 分支名
    

    回退版本

    回退到xxxx版本:

    git reset xxxx
    

    强制回退到xxxx版本:

    git reset --hard xxxx
    

    远程仓库

    添加远程仓库:

    git remote add 远程名称 远程地址
    

    列出所有远程仓库:

    git remote
    

    上传代码:

    git push -u 远程名 分支名
    

    获取远程更新:

    git pull
    

    一把梭

    假设当前为 master 分支,我们需要创建一个新分支,并将 master 分支内容更新到新分支上,可以做以下操作:

    git checkout -b 分支名1
    git status
    git add .
    git commit -v
    git push origin 分支名1
    git checkout master
    git merge 分支名1  // 将分支名1的代码合并到master
    git push origin master
    

    参考、学习链接

    Git - Book

    Learn Git Branching

    Git教程 - 菜鸟教程

    Git使用规范流程 - 阮一峰

    Git工作流程 - 阮一峰

    常用Git命令清单 - 阮一峰

    Git远程操作详解 - 阮一峰

    最后我们再来看看下面这张 Git常用命令速查表

  • 相关阅读:
    样式表练习
    表单的制作
    PHP课后感
    eclipse中项目改名
    Windows下关闭占用指定端口应用程序的方法
    ftp上传不成功,提示501 invalid character in command错误
    分割字符串取最后一部分
    toString()方法之使用
    访问FTP服务器方法
    eclipse中svn检出项目,项目名上带有红色感叹号
  • 原文地址:https://www.cnblogs.com/LqZww/p/12404508.html
Copyright © 2020-2023  润新知