Git学习笔记

git配置

配置用户名、邮箱

git config --global user.name "Xiaopeng Yang"

git config --global user.email 18739354512@163.com

保存用户名和邮箱,不用每次输入:

git config --global credential.helper store

查看git配置信息:

git config --global --list

创建仓库

一、在文件下使用git init 创建

或者 git init file

二、使用git clone 克隆远程仓库

git clone url

进入创建的仓库目录,会显示分支master

.get目录

.get目录存放了git仓库的所有数据,

git工作区域

工作区:自己电脑的工作目录,我们实际操作的目录

暂存区(index):临时存储区域,用于保存即将提交到git仓库的修改内容

版本控制:通过git init 创建的仓库,git存储代码和版本信息的主要位置

为什么不直接提交到本地仓库:

组织、审查

组织:选择一些相关的提交一起提交到仓库,保证提交的逻辑性。

审查:检查哪些操作不需要提交。

否则回滚会更加困难

文件状态

未跟踪untracked:新创建还未被git管理的文件

未修改 unmodified:被git管理但内容还没有修改

已修改 modified:修改后的文件还没有添加到暂存区

已暂存 staged:修改后添加到了暂存区域内的文件

文件操作

linux命令的使用:

echo 内容 > file

echo 内容 >> file:追加到这个文件的后面

git init:创建仓库

git status:查看仓库状态

查看当前仓库处于哪个分支,有哪些文件以及这些文件当前处在怎么样的一个状态

git ls-files:查看暂存区的内容

ls:查看本地文件

git add:添加到暂存区

git add .:所有文件都添加

git commit -m "别名":提交到仓库

git commit -a:跳过添加到暂存区。直接添加到仓库(只适用于已经添加到仓库的文件)

回退reset

git reset:回退版本,退回到之前的某个提交的状态

        三种模式:

        git reset --soft:保留工作区和暂存区的所有修改内容

        git reset --hard:删除工作区和暂存区的所有修改内容

        git reset --mixed:只保留工作区,删除暂存区

git log:显示提交历史

git log --oneline:显示一行

git commit -m "名称":对该次提交命名

git reflog:查看操作的历史记录

git diff:查看工作区、暂存区、本地仓库之间的差异

        git diff:默认比较工作区和暂存区之间的差异        

        git diff HEAD:比较工作区和版本库之间的差异

        git diff --cached:比较暂存区和版本库之间的差异

        git diff 版本1 版本2:比较两个版本之间的差异

HEAD:表示当前分支的最新提交        

        git diff HEAD 版本号

        git diff HEAD~(或者^号) HEAD:比较和上一个版本的差异        

        ~号后加数字表示前几个版本

        git diff HEAD ~3 HEAD 文件名:只比较该文件的差异

删除文件:

1、先rm file 在工作区删除文件,然后git add file 更新到暂存区,删除文件

2、使用git rm file:同时在工作区和暂存区删除

3、git rm --cached file:删除仓库和暂存区,保留工作区

***删除后记得提交

.gitignore

忽略掉不应该被加入到版本库中的文件

1、系统或者软件自动生成的文件

2、编译产生的中间文件和结果文件(.class、.o)

3、运行时生成的日志文件、缓存文件、临时文件

4、设计身份、密码、口令、密钥等敏感信息的文件    

方式一:echo pwd.log >.gitignore :将文件添加到.gitignore中,就不会显示在库中

方式二:vi .gitignore 修改内容为 *.log 用来忽略所有以log结尾的文件

方式三:忽略以/结尾的后面的文件,temp/:temp下的文件忽略

.gitignore文件匹配原则:

        1、#表注释

        2、*通配任意个字符

        3、?匹配单个字符

        4、[ ]表示匹配列表中的单个字符,比如:[abc]表示a/b/c

        5、[0-9]、[a-z]匹配两个字符范围内的字符

gitee配置

仓库地址

一、https:本地仓库上传需要用户名和密码

二、SSH:不需要用户名和密码,但需要在gitee上配置SSH公钥

克隆远程仓库

git clone url

关联远程仓库

git remote add 别名 url

git remote -v:查看远程仓库

git branch -M master:指定分支名称为master

git push -u origin master master:将本地的master分支和origin仓库的分支master关联起来如果分支名相同,可以省略一个不写

拉取远程仓库分支:git pull 远程仓库名  远程分支名: 本地分支名

分支

分支创建

git branch:查看分支

git branch 分支:创建分支

git checkout 分支:切换到该分支(有歧义,用来恢复文件)

git switch 分支:切换分支

创建的新分支会包含主分支的文件,接下来主分支和新分支并行,不会再相互干扰

分支合并

git merge 被合并的分支   合并到当前分支

git log --graph --oneline --decorate --all:查看分支合并过程

分支合并后不会被删除

分支删除:git branch -d 分支

-d:表示删除合并后的分支,-D:表示强制删除

合并冲突

合并文件的重合部分有差异会产生冲突(修改了同一文件的同一行代码),此时需要手动处理冲突,并重新提交

git diff:会显示冲突内容

git meige --abort:提交之前中止合并

rebase分支合并

工作流模型

1、Git Flow模型

2、GitHubFlow 模型

注:学习笔记来自B站GeekHour博主

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值