• GIT学习笔记


    GIT与SVN的差异:1.直接记录快照,而非差异比较;2.近乎所有操作都是本地执行

    常用命令:

    git config --list :查看配置(在项目目录下,可以看到项目相关的配置)

    git config <key>: 来检查 Git 的某一项配置(origin)

    git help <verb>:获取命令帮助

    GIT基础:

    git init 初始化环境

    git clone 克隆现有仓库

    git add 添加文件

    git status [-s] 查看当前文件状态

    git diff [--cached] (建议使用GUI工具) 比较差异

    git commit -m 提交文件

    git rm [--cached] 移除文件(从当前版本)

    git log 查看日志

    撤消操作(见:http://git-scm.com/book/zh/v2/Git-%E5%9F%BA%E7%A1%80-%E6%92%A4%E6%B6%88%E6%93%8D%E4%BD%9C)

    git remote [-v] [add] [rename] [rm] 远程仓库相关操作[查看详细] [添加] [改名] [移除]

    git fetch [remote-name] 获取到本地环境(不显示文件)

    git pull [remote-name] 拉取到本地并合并(显示文件)

    git push origin master[: 远程分支名] 推送到远程仓库

    git tag [-l] [-a] 标签

    git [remote] show [分支] [标签] 查看详细内容

    别名设置:在配置文件里设置别名,可以简化命令行的输入(包括外部命令)

    关于分支:

    git branch [-v]:查看分支(详细)

    git branch 分支名 :创建分支

    git branch [-d] [分支名]  :删除分支

    git checkout [分支名] :切换分支

    git checkout [-b] [分支名] :创建并切换分支

    git checkout -b [branch] [remotename]/[branch] :根据某个已经fetch到本地的远程分支创建并切换本地分支

    git checkout --track [remotename]/[branch] : 等同于上面命令,是个快捷方式

    git log --oneline --decorate :查看每个提交对象对应的分支(包括head)

    git merge [分支名] :合并分支

    遇到冲突时的分支合并:可以参考教程,也可以使用别的可视化工具

    git push origin --delete serverfix :删除远程分支

    与合并分支(merge)想类似的另一种合并分支的方法叫“基变”,是方便后来者阅读的合并方式

    在git中的文件有三种状态:已提交(committed)、已修改(modified)、已暂存(staged)

      已提交:文件已经被保存到本地数据库。

      已修改:某文件被修改,但是还没有提交。

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

    在git中三种状态的文件对应的文件流转工作区域:git工作目录、暂存区域、本地仓库,具体看参考下图:

    Git 仓库目录是 Git 用来保存项目的元数据和对象数据库的地方。 这是 Git 中最重要的部分,从其它计算机克隆仓库时,拷贝的就是这里的数据。

    工作目录是对项目的某个版本独立提取出来的内容。 这些从 Git 仓库的压缩数据库中提取出来的文件,放在磁盘上供你使用或修改。

    暂存区域是一个文件,保存了下次将提交的文件列表信息,一般在 Git 仓库目录中。 有时候也被称作“索引”,不过一般说法还是叫暂存区域。

    基本的 Git 工作流程如下:

    1. 在工作目录中修改文件。

    2. 暂存文件,将文件的快照放入暂存区域。

    3. 提交更新,找到暂存区域的文件,将快照永久性存储到 Git 仓库目录。

    如果 Git 目录中保存着的特定版本文件,就属于已提交状态。 如果作了修改并已放入暂存区域,就属于已暂存状态。 如果自上次取出后,作了修改但还没有放到暂存区域,就是已修改状态。

    Git 下文件生命周期图。

    git在提交到staged(暂存区)的状态前,有上图这些状态。和上上张图相比,多了一个修改的状态(编辑过某些文件之后,由于自上次提交后你对它们做了修改,Git 将它们标记为已修改文件)。

    附录1—常用命令:

    git init :命令进行初始化版本库

    git add readme.txt :新建一个文件readme.txt

    git status:可查看状态

    git commit -m "add a file":可提交文件到本地库,注意-m后面存放的是本次提交的注释

    $ git config --global user.name “jredu” :配置用户名信息(全局)

    $ git config --global user.email jredu@jredu.com :配置Email信息(全局)

    $ git config user.name “jredu001” : 配置用户名信息(当前项目)

    $ git config user.email jredu001@jredu.com :配置Email信息(当前项目)

    git config --list :查看Git配置的信息

    git rm -m"注释" :从已跟踪的文件清单中删除

    git mv old_file new_file :对已跟踪的文件进行重新命名操作

    git log :查看日志,详细查看命令另阅

    git branch 分支名字 :创建分支

    git checkout 分支名字 :切换分支

    git branch :查看分支

    git merge 被合并的分支 :合并分支

    git branch –d 要删除的分支:删除分支

    git clone 版本库的网址  [本地库名称]:本地库名称可以省略,省略后在本地会生成一个和远程版本库名字相同的目录

    git remote [-v] :用于管理远程主机名,此命令在没有参数的情况下可以列出所有主机名。显示origin是在使用clone命令,克隆远程版本库时Git自动为远程主机命名。

    git fetch 主机名字:在默认情况下,git fetch origin将会更新远程主机origin上的所有分支,如果只想更新某个分支,则在主机名origin后面加分支名。语法:git fetch origin master

    语法:git push 远程主机名 本地分支名:远程分支名   :如果省略远程分支名,则表示将本地分支推送与存在最终关系的远程分支,如果远程分支不存在,则会被新建。如:git push origin master,表示将本地master分支推送到origin主机的master分支上。如果省略本地分子名,则表示要删除远程主机中分支,如git push origin : master,则表示删除origin主机中master分支

    git pull 远程主机 远程分支:本地分支  :如:git pull origin master:master,表示将远程主机origin中的master分支跟新到本地分支master。

    touch :生成文件

    附录2—常见问题:

    SSH的KEY设置:注意,如果去github上验证,可能会有延迟,要等一会才能生效

    关于误删:在 Git 中任何 已提交的 东西几乎总是可以恢复的。 甚至那些被删除的分支中的提交或使用 --amend 选项覆盖的提交也可以恢复

    关于标签:标签很像一个不会改变的分支 - 它只是一个特定提交的引用。在 Git 中你并不能真的检出一个标签,可以在特定的标签上创建一个新分支

  • 相关阅读:
    NETCore下IConfiguration和IOptions的用法
    关于将vs项目推到GitHub上遇到的问题
    SQL GROUP BY对多个字段进行分组
    sql if else 语句
    CSS
    CSS
    JS
    22 ~ express ~ 内容评论实现
    css ~ a标签占满父级元素
    21 ~ express ~ 内容详情展示 和 阅读数处理
  • 原文地址:https://www.cnblogs.com/xujanus/p/4645594.html
Copyright © 2020-2023  润新知