Git学习

Git简介

Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件

Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。

Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持。

Git 不仅仅是个版本控制系统,它也是个内容管理系统(CMS),工作管理系统等

Git 基本操作

Git 的工作就是创建和保存你项目的快照及与之后的快照进行对比。

本章将对有关创建与提交你的项目快照的命令作介绍。

Git 常用的是以下 6 个命令:git clonegit pushgit add 、git commitgit checkoutgit pull,后面我们会详细介绍。

说明:

workspace:工作区

staging area:暂存区/缓存区

local repository:版本库或本地仓库

remote repository:远程仓库

Git 基本命令

 git init - 初始化仓库。

  git add . - 添加文件到暂存区。

  git commit - 将暂存区内容添加到仓库中。

  git clone - 拷贝一份远程仓库,也就是下载一个项目

  git add - 添加文件到仓库

  git status - 查看仓库当前的状态,显示有变更的文件

  git diff - 比较文件的不同,即暂存区和工作区的差异

  git commit - 提交暂存区到本地仓库

  git reset - 回退版本

  git rm - 删除工作区的文件

  git mv - 移动或重命名工作区文件

  git log - 查看历史提交记录

  git blame<file> - 以列表形式查看指定文件的历史修改记录

Git 分支管理

git branch (branchname)- 创建分支命令 (不加分支名就是列出所有分支)

git branch -d (branchname)- 删除分支命令

git checkout (branchname)- 切换分支命令

git merge - 合并分支命令

 Git 提交历史一般常用两个命令:

git log - 查看历史提交记录。 通常加 -- oneline查看简洁版 我们还可以用 --graph 选项,查看历史中什么时候出现了分支、合并。

              你也可以用 --reverse 参数来逆向显示所有日志。如果只想查找指定用户的提交日志可以使用命令:git log --author ,

               如果你要指定日期,可以执行几个选项:--since 和 --before,但是你也可以用 --until 和 --after

       git log --oneline --before={3.weeks.ago} --after={2010-04-18}

git blame <file> - 以列表形式查看指定文件的历史修改记录。

Git 标签

发布一个版本时,我们通常先在版本库中打一个标签(tag),这样就唯一确定了打标签时刻的版本。将来无论什么时候,取某个标签的版本,就是把那个打标签的时刻的历史版本取出来。

所以,标签也是版本库的一个快照。

Git 的标签虽然是版本库的快照,但其实它就是指向某个 commit 的指针(跟分支很像对不对?但是分支可以移动,标签不能移动),所以,创建和删除标签都是瞬间完成的。

我们可以使用 git tag 给它打上标签。比如说,我们想为我们的 runoob 项目发布一个"1.0"版本。 我们可以用 git tag -a v1.0 命令给最新一次提交打上(HEAD)"v1.0"的标签。

-a 选项意为"创建一个带注解的标签"。 不用 -a 选项也可以执行的,但它不会记录这标签是啥时候打的,谁打的,也不会让你添加个标签的注解。 

$ git tag -a v1.0
当我们执行 git log --decorate 时,我们可以看到我们的标签
-d 删除
git show v1.0  查看此版本所修改的内容
 
 

 

posted @ 2021-07-28 21:36  纳姆德隆  阅读(28)  评论(0)    收藏  举报