Git简明指南

仓库

创建仓库

git init
git clone

工作流

你的本地仓库由 git 维护的三部分组成:

  • 工作区(Working Directory)
    就是你在电脑里能看到的目录,,它持有实际文件,比如我的learngit文件夹就是一个工作区.
  • 暂存区 (index)
    它像个缓存区域,临时保存你的改动.
  • HEAD
    它指向你最后一次提交的结果.
Working Dir   --add-->  Index(Stage)  --commit-->  Head

版本库(Repository)
工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库。
Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区,还有我们创建的分支master …,以及指向master的一个指针叫HEAD

过程

  • 添加
  • 提交
  • 推送

分支

分支是用来将特性开发绝缘开来的。在你创建仓库的时候,master 是“默认的”分支。在其他分支上进行开发,完成后再将它们合并到主分支上。

git branch -va

更新与合并

  • 要更新你的本地仓库至最新改动
    在你的工作目录中 获取(fetch) 并 合并(merge) 远端的改动。
git pull
  • 合并其他分支到你的当前分支(例如 master)
git merge <branch>

在这两种情况下,git 都会尝试去自动合并改动。遗憾的是,这可能并非每次都成功,并可能出现冲突(conflicts)。 这时候就需要你修改这些文件来手动合并这些冲突(conflicts)。

  • sync a fork
git fetch upstream
git checkout master
git merge upstream/master

删除分支

git branch -d <branch>

标签

为软件发布创建标签是推荐的。

git tag 1.0.0 1b2e1d63ff

1b2e1d63ff 是你想要标记的提交 ID 的前 10 位字符。可以使用git log命令获取提交ID,也可以使用少一点的提交 ID 前几位,只要它的指向具有唯一性。

替换本地改动,撤销修改

文件回到最近一次git commit或git add时的状态。

  • git checkout — file
    此命令会使用 HEAD 中的最新内容替换掉你的工作目录中的文件。已添加到暂存区的改动以及新文件都不会受到影响。
  • git reset HEAD file

假如你想丢弃你在本地的所有改动与提交,可以到服务器上获取最新的版本历史,并将你本地主分支指向它:

git fetch origin
git reset --hard origin/master

Git简明指南
Git教程

    原文作者:孤逐王
    原文地址: https://www.jianshu.com/p/389c9af32dea
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞