Git的日常命令的使用和原理分析

Git的学习

1、 下载安装

  • 下载:官网下载
  • 安装:一路下一步

2、 用户注册和仓库的初始化

  • 查看版本 git –versio –n
  • 用户注册:
    git config –global user.name “gyoomi”
    git config –global user.email “[email protected]

3、 Git的常用操作

  • 将文件提交到暂存区:
    git add 文件名 或 .

  • 将暂存区的文件进行提交:
    git commit -m “remark somthing u od just now”

  • 将新建的文件直接进行提交:
    git commit –a –m “remark u do”

  • 其他命令
    git status 查看文件状态
    git log 提交的日志

4、 Git的撤回(历史区,暂存区,工作区)

  • ① 工作区的回退
    git checkout – 文件名
  • ② 从暂存区到工作区的回退
    git reset HEAD 文件名
  • ③ 从历史区到暂存区的回退
    git reset –hard 文件名
  • 安全撤销的命令:
    git checkout – 文件名是非常危险的
    所以提倡使用git stash来替代 git stash apply

5、 Git的tag和trick

  • 打tag
    git tag –a v1.0 –m “my tag”
  • 查看tag
    git tag
  • 查看tag版本的详细信息
    git show v1.0

  • 打以往历史版本的tag
    git tag –a v0.1 –m “my tag 0.1” 版本号

  • 家目录下的.gitconfig 隐藏配置文件

6、 Git分支

  • 分支原理
    git cat-file –p 哈希值
    cd .git
    cd objects
    分支切换的原理就是修改点.git文件夹下的HEAD文件
    创建分支的原理就是在.git文件夹的refs下创建文件,里面并存有创建分支的sha1值

  • Git创建分支和切换分支及合并分支的操作命令

  • 分支的创建的切换原理
    git branch 查看分支
    git branch test 创建分支
    git checkout test 切换分支名
    git branch –d test 删除分支
    git checkout –b test 切换分支,加入分支不存在的话,会直接创建
    合并分支的操作
    git merge test(分支名)
  • 自动合并分支

  • 人工手动合并分支,合并后解决冲突,然后进行add和commit操作即可完成分支的操作。如下图:

commit 1956b1374f10b4ad0519e30b24467d6130edc8c8 (HEAD -> master)
Merge: 2185332 0cff2e8
Author: gyoomi [email protected]
Date: Mon Nov 20 22:02:28 2017 +0800

fix conflict

分支的cherry pick和rebase操作

  • 没有冲突的rebase
    git cherry pick 某一次文件提交的进行合并的哈希值
    git rebase master test
    自动切换到test,所以
    git checkout master
    git merge test

  • 有冲突的合并
    1:git rebase master test
    这里写图片描述
    2:
    这里写图片描述

3:
这里写图片描述
4:
这里写图片描述
5:
这里写图片描述

7、 git的忽略规则
在项目的目录下创建.gitignore文件:在里面添加规则

最后结构如图:

这里写图片描述

我的GitHub地址,欢迎来踩

https://github.com/gyoomi
去年的笔记,今天的整理下,如有错误请指正。

猜你喜欢

转载自blog.csdn.net/weixin_39723544/article/details/80574728
今日推荐