git学习笔记

git:版本控制系统

常用命令
    cd ..            			返回上级文件夹
​    cd + 文件夹名        		进入当前目录某文件夹
​    ls               	 		显示当前目录所有文件夹及文件名
​    ll               			相较于ls更加详细
​    pwd              		    显示完整的当前所在目录
​    clear           			清屏(windows为 cls)
​    reset            		    与clear差不多
​    rm + 文件名       	 		删除某文件
​    mkdir + 文件夹名    			新建某个文件夹
​    rm -r + 文件夹名     		删除某个文件夹
​    touch + 文件名        		新建某个文件
​    move + 文件名 +文件夹名      将该文件移动到该文件夹下
​    history           			查看所有历史命令


git配置
安装git后必须要进行用户配置
 		配置用户名命令:git config --global user.name "xxxxx"
​        配置邮箱命令:  git config --global user.name "xxxxx"`


1、为什么要配置用户名和邮箱?

​ 因为Git是分布式版本控制系统,所以,每个机器都必须自报家门:你的名字和Email地址(名字和邮箱都不会进行验证),这样远程仓库才知道哪次提交是由谁完成的
​ 你也许会担心,如果有人故意冒充别人怎么办?这个不必担心,首先我们相信大家都是善良无知的群众,其次,真的有冒充的也是有办法可查的

2、配置的用户名和邮箱对push代码到远程仓库有什么影响?

​ 首先,配置的用户名和邮箱对push代码到远程仓库时的身份验证没有作用,即不用他们进行身份验证;他们仅仅会出现在远程仓库的commits里
​ 其次,按正常操作来说,你应该配置你的真实用户名和邮箱,这样一来在远程仓库的commits里可以看到哪个操作是你所为
​ 最后,这个用户名和邮箱是可以随便配置的(不提倡)
​ 如果你配置的邮箱是github里真实存在的邮箱,则commits里显示的是这个邮箱对应的账号
​ 如果配置的邮箱是一个在github里不存在的邮箱,则commits里显示的是你配置的用户名。

关于配置常用命令
	查看配置:	 git config -l
​    查看系统配置:git config --system --list
​    查看用户配置:git config --global --list

git基本理论
  • Workspace:工作区,平时存放代码的地方

在这里插入图片描述

  • Index/Stage:暂存区,用于临时存放代码改动,是一个文件,保存即将提交到文件列表信息

  • Repository:本地仓库,存放提交所有版本的数据,HEAD指向最新放入仓库的版本

在这里插入图片描述

  • Remote:远程仓库,托管代码的服务器,简单地认为你的项目组中的一台电脑用于远程数据交换(github,码云)

  • 四部分的关系

    在这里插入图片描述

git工作基本流程
  1. 在Workspace中添加修改文件

  2. 将需要版本管理的文件放入暂存区(git add .)

  3. 将暂存区的文件提交到git仓库(git commit)

  4. 若需要保存在远程仓库需要git push

    流程如下图

在这里插入图片描述

git项目搭建
  1. 本地仓库搭建(创建全新的仓库)
    git init
    

    生成.git文件夹,版本等信息都在里面

  2. 远程仓库克隆
     git clone [url]  *# https://gitee.com/kuangstudy/openclass.git*
    
git文件操作
文件的四种状态
  • 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 .                  添加所有文件到暂存区
# git commit -m "消息内容"    提交暂存区中的内容到本地仓库 -m 提交信息
忽略文件

有些时候我们不想把某些文件纳入版本控制中,比如数据库文件,临时文件,设计文件等

在主目录下建立".gitignore"文件,此文件有如下规则:

  1. 忽略文件中的空行或以井号(#)开始的行将会被忽略。
  2. 可以使用Linux通配符。例如:星号(*)代表任意多个字符,问号(?)代表一个字符,方括号([abc])代表可选字符范围,大括号({string1,string2,…})代表可选的字符串等。
  3. 如果名称的最前面有一个感叹号(!),表示例外规则,将不被忽略。
  4. 如果名称的最前面是一个路径分隔符(/),表示要忽略的文件在此目录下,而子目录中的文件不忽略。
  5. 如果名称的最后面是一个路径分隔符(/),表示要忽略的是此目录下该名称的子目录,而非文件(默认文件或目录都忽略)。
#为注释
*.txt        #忽略所有 .txt结尾的文件,这样的话上传就不会被选中
!lib.txt     #但lib.txt除外
/temp        #仅忽略项目根目录下的TODO文件,不包括其它目录temp
build/       #忽略build/目录下的所有文件
doc/*.txt    #会忽略 doc/notes.txt 但不包括 doc/server/arch.txt
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值