Git学习
Git简介
Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件
Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。
Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持。
Git 不仅仅是个版本控制系统,它也是个内容管理系统(CMS),工作管理系统等
Git 基本操作
Git 的工作就是创建和保存你项目的快照及与之后的快照进行对比。
本章将对有关创建与提交你的项目快照的命令作介绍。
Git 常用的是以下 6 个命令:git clone、git push、git add 、git commit、git checkout、git 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 查看此版本所修改的内容

浙公网安备 33010602011771号