git(本地操作)

写在前面:学习git可以看https://git-scm.com/book/zh/v2上的教程,非常详细。先学习本地操作,再学习远程操作。

1.下载并安装git(环境为win10)

git下载链接

https://git-scm.com/downloads

按默认步骤安装

2.使用前的配置(打开Git Bash)

git config --global user.name "<用户名>"

git config --global user.email "<邮箱>"


查看设置:git config --list

3.初始化仓库


进入作为仓库的目录(图中用命令创建了一个目录)

初始化仓库:git init(建好后生成大家都说没事别乱动的隐藏文件./git,用于追踪管理版本迭代)


(git init <文件名>:生成以[文件名]为名的目录并初始化仓库)

4.工作目录(working tree)->暂存区(index)


往暂存区里添加新文件:git add <文件名>

一次性添加文件夹中所有未添加的文件:git add .

5.暂存区(index)->本地仓库(HEAD)(这步操作必须执行过一次add否则作为未被追踪的文件是不能提交的)

提交到本地仓库:git commit [-m | -a]  "<本次改动的注释,版本回退的依据>"

-m:不弹出用于注释的文本,在""中注释


-a:把工作目录中所有改变的文件提交到本地仓库,通过vi编辑器在弹出来的文本中注释,图中第一行为注释(小心这会把暂存区里的文件覆盖)

-am:-m和-a结合

6.查看状态

git status



创建一个新的文件,状态为未被追踪

添加到暂存区,状态为可被提交到仓库

提交到仓库后,工作目录和暂存区都没有文件
可见,文件有三种状态

简洁版:git status -s

7.查看提交历史

查看历史提交:git log

查看历史提交,包括reset操作过的:git reflog

一行简洁版:git log --oneline

查看历史提交中分支及其标签:git log --decorate

以拓扑图方式显示:git log --graph

显示所有分支:git log --all

8.版本对比

比较工作目录与暂存区的差异:git diff

比较暂存区与当前提交的差异:git diff --cached

比较暂存区与历史提交的差异:git diff --cached [版本id]

比较工作目录与当前提交的差异:git diff HEAD

比较工作目录与历史提交的差异:git diff [版本id]

比较两个历史提交:git diff [版本1的id] [版本2的id]

9.版本回退//还没搞懂

git reset

$ git reset -h

usage: git reset [--mixed | --soft | --hard | --merge | --keep] [-q] [<commit>]
   or: git reset [-q] [<tree-ish>] [--] <paths>...
   or: EXPERIMENTAL: git reset [-q] [--stdin [-z]] [<tree-ish>]
   or: git reset --patch [<tree-ish>] [--] [<paths>...]


    -q, --quiet           be quiet, only report errors
    --mixed               reset HEAD and index
    --soft                reset only HEAD
    --hard                reset HEAD, index and working tree
    --merge               reset HEAD, index and working tree
    --keep                reset HEAD but keep local changes
    --recurse-submodules[=<reset>]
                          control recursive updating of submodules
    -p, --patch           select hunks interactively
    -N, --intent-to-add   record only the fact that removed paths will be added later
    -z                    EXPERIMENTAL: paths are separated with NUL character

    --stdin               EXPERIMENTAL: read paths from <stdin>


-----------------------------------------------------------------

10.分支

1)列出所有分支

git branch

2)创建分支(在仓库目录下执行就可以了)(以HEAD制作所指分支来创建的,包括该分支的三个区域里的所有文件)

创建分支:git  branch <分支名>

用git log查看可见除master主分支外多了一个分支

3)切换分支(改变HEAD指针的指向)

git checkout <分支名>


新建分支并切换到该分支:git checkout -b <新建分支名>

4)合并分支(将HEAD所指分支与指定分支合并)

git merge <分支名>

5)删除分支

git branch -d <分支名>

------------------------------------------------------------------------未完待续

git rm

git mv

git tag

参考:

git官网教程:https://git-scm.com/book/zh/v2

git命令手册:https://git-scm.com/docs

这个博客总结的命令也不错:http://www.ruanyifeng.com/blog/2015/12/git-cheat-sheet.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值