GIt学习笔记


https://blog.csdn.net/bruce_6/article/details/83615226?utm_medium=distribute.pc_relevant_right.none-task-blog-BlogCommendFromMachineLearnPai2-8.channel_param_right&depth_1-utm_source=distribute.pc_relevant_right.none-task-blog-BlogCommendFromMachineLearnPai2-8.channel_param_right

一些配置命令

1.查看配置

git config -l

2.查看不同级别的配置文件
#查看系统config

git config --system --list

3.#查看当前用户(global)配置

git config --global –list

git config --global user.name “dulijun” #名称
git config --global user.email “353862005@qq.com” #邮箱

Git的分区和基本流程

1、四个分区
前三个区域是本地的,第四个区域是远程的

  • 工作区(WorkSpace):本地存放项目代码的目录

  • 暂存区(Stage/Index):是一个文件,临时存放对文件的更改,保存即将提交到文件列表信息

  • 本地仓库(Repository):安全存放数据的位置,包含提交的所有版本的数据;HEAD指向最新放入仓库的版本

  • 远程仓库(Remote):托管代码的服务器,比如Gitee、Github等

文件在这四个区域之间的传输命令如下:
image-20200830124014556
2、工作流程
1、在工作目录中添加、修改文件;
2、将需要进行版本管理的文件放入暂存区域;
3、将暂存区域的文件提交到git仓库。
由此可见,git管理的文件有三种状态:已修改(modified),已暂存(staged),已提交(committed)

Git项目搭建

创建新项目 1: 在项目目录里面 git init
创建新项目 2:克隆一个项目和它的整个代码历史(版本信息) git clone [url]

文件的四种状态

  • Untracked:未跟踪,此文件在工作文件夹中,但并没有加入到git库,不参与版本控制,通过git add 状态变为Staged.
  • Unmodify:文件已经入库, 未修改, 即版本库中的文件快照内容与文件夹中完全一致. 这种类型的文件有两种去处, 如果它被修改, 而变为Modified. 如果使用git rm移出版本库, 则成为Untracked文件
  • Modified:文件已修改, 仅仅是修改, 并没有进行其他的操作. 这个文件也有两个去处, 通过git add可进入暂存staged状态, 使用git checkout 则丢弃修改过, 返回到unmodify状态, 这个git checkout即从库中取出文件, 覆盖当前修改 !
  • Staged:暂存状态. 执行git commit则将修改同步到库中, 这时库中的文件和本地文件又变为一致, 文件为Unmodify状态. 执行git reset HEAD filename取消暂存, 文件状态为Modified

#查看指定文件状态
git status [filename]

#查看所有文件状态
git status

#添加所有文件到暂存区
git add .

#提交暂存区中的内容到本地仓库 -m 提交信息
git commit -m “消息内容”

git 在win10下乱码,解决办法:
git config --global core.quotepath false
在这里插入图片描述

从A分支切换到B分支,git pull出错:
Pull is not possible because you have unmerged files.
Please, fix them up in the work tree, and then use 'git add/rm ’
as appropriate to mark resolution, or use ‘git commit -a’.

git warning: inexact rename detection was skipped due to too many files.

Pull is not possible because you have unmerged files
在这里插入图片描述

尝试解决办法:
不正确:
解决方法:
1、
丢弃本地提交,强制回到线上最新版本
git fetch --all
git reset --hard origin/你需要下拉的分支(默认master)
git fetch
保存本地提交
git reset --abort
git reset --merge
git commit -am ‘提交信息’
git pull
2

正确:
git reset --hard FETCH_HEAD,FETCH_HEAD表示上一次成功git pull之后形成的commit点。然后git pull.
注意:

git merge会形成MERGE-HEAD(FETCH-HEAD) 。git push会形成HEAD这样的引用。HEAD代表本地最近成功push后形成的引用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值