Git笔记

git的最小配置

设置user.name 以及user.email

    git config --global user.name 'what you want to use for your name'

    git config --global user.eamil 'what you want to use for your email'  Email地址需要可以接收邮件

--global表示设置的生效范围,除global外还有local以及system两个范围

    local:仅对某个仓库有效

    system:对系统所有登录的用户有效。

配置完成后可以查看配置内容,命令如下:

    git config --list --local(local可以改成global和system,用以查看不同的设置)

PS:假如有一个global的设置,同时有一个local的设置,此时local的设置优先级更高。


创建git仓库

1. 将已有代码纳入git管理

    cd 'path of your project'

    git init

2. 新建项目直接使用git管理

    cd 'path of your project'

    git init your_project    //会在当前路径下创建和项目同名的文件夹

    cd your_project 


git的工作区和暂存区

    版本历史

    ↑    git commit

    暂存区

    ↑    git add 

    工作目录


查看工作目录和暂存区的状态,命令

    git status 

将文件添加到暂存区

    git add file_name

    批量添加可以使用 git add .

    此命令会将待add的所有文件都添加,或者使用git add -u或git add -a

    三者的区别:https://blog.csdn.net/GarfieldEr007/article/details/83829693

将暂存区的文件提交,单引号内附加对于本次提交的描述,

    git commit -m 'something used to describe this commit'

查看提交历史(当前分支),命令

    git log


文件名的重命名

命令如下:

    git mv origin_filename new_filename


删除文件

    git rm filename


Git log 详细

git log 查看当前分支的提交历史

git log branchname 查看指定分支的提交历史

git log --oneline 查看每次提交的描述信息

git log -n2 --oneline 查看最近两次提交的描述信息,2可以替换为别的数字,--oneline也可以去掉

git log --all 查看所有分支的提交历史

git log --all --graph 图形化的表示形式


Git 图形界面看版本历史

命令行输入gitk

gitk详细介绍:一篇文章学会使用gitk,排查git问题就靠它了 - 简书


Git目录中的文件分别存储了什么

config 存储配置信息,如name email等

HEAD 存储的是实际是一个hash值,指示一次commit

refs 存储heads和tags,heads存储的是不同分支,每个文件中存储的即使用哈希值表示的commit,tags存储的是一系列的tag,tag中存储的是一个tag object,其中存储了指向了某个commit的hash值。

objects路径下存储了一系列的文件夹,将文件名以及里面的文件拼起来是一个hash值,此值存储了一个tree object,此tree object中存储了一个hash值,指向一个blob(git中的文件类型),这个blob就是一个提交的文件,例如.java文件,.python文件等。


©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。