Git学习

本文详细介绍了Git的基本使用方法,包括环境配置、工作流程、项目创建及克隆等。还讲解了如何进行文件操作,如添加、提交文件,以及如何忽略特定文件等。

Git

Git环境配置

查看当前环境配置

​ 查看全部环境配置

git config -l

​ 查看系统配置

git config --system -l

​ 查看用户配置

git config --global -l

​ 第一次使用的时候,查看用户配置会显示:

fatal: unable to read config file 'C:/Users/DELL/.gitconfig': No such file or directory

​ 没有那个配置文件,等会配置完就有了。

设置用户配置

git config --global user.name "Fandos"
git config --global user.email "fandos@qq.com"

​ 设置用户名和邮箱,用真实的邮箱,后面还会用到。

​ 然后那个用户配置文件里面就会显示:

[user]
	name = Fandos
	email = fandos@qq.com

​ 这就配置好了。

Git理论

​ Git本地有三个工作区域:工作目录(Working Directory)、暂存区(Stage/Index)、资源库(Repository或Git Directory)。如果在加上远程的git仓库(Remote Directory)就可以分为四个工作区域。文件在这四个区域之间的转换关系如下:

图片

  • Workspace:工作区,就是你平时存放项目代码的地方
  • Index / Stage:暂存区,用于临时存放你的改动,事实上它只是一个文件,保存即将提交到文件列表信息
  • Repository:仓库区(或本地仓库),就是安全存放数据的位置,这里面有你提交到所有版本的数据。其中HEAD指向最新放入仓库的版本
  • Remote:远程仓库,托管代码的服务器,可以简单的认为是你项目组中的一台电脑用于远程数据交换

本地的三个区域确切的说应该是git仓库中HEAD指向的版本:

image-20210716172108975

  • Directory:使用Git管理的一个目录,也就是一个仓库,包含我们的工作空间和Git的管理空间。
  • WorkSpace:需要通过Git进行版本控制的目录和文件,这些目录和文件组成了工作空间。
  • .git:存放Git管理信息的目录,初始化仓库的时候自动创建。
  • Index/Stage:暂存区,或者叫待提交更新区,在提交进入repo之前,我们可以把所有的更新放在暂存区。
  • Local Repo:本地仓库,一个存放在本地的版本库;HEAD会只是当前的开发分支(branch)。
  • Stash:隐藏,是一个工作状态保存栈,用于保存/恢复WorkSpace中的临时状态。

工作流程

git的工作流程一般是这样的:

1、在工作目录中添加、修改文件;

2、将需要进行版本管理的文件放入暂存区域;

3、将暂存区域的文件提交到git仓库。

因此,git管理的文件有三种状态:已修改(modified),已暂存(staged),已提交(committed)

image-20210716172156724

​ 理论部分我就不写了,这是狂神的原笔记。

Git项目创建及克隆

​ 在当前目录新建一个Git仓库

git init

​ 克隆远程目录

git clone [url]

Git文件操作

git status

​ 查看当前被跟踪、没有被跟踪的文件。返回:

On branch master

No commits yet

Untracked files:
  (use "git add <file>..." to include in what will be committed)
        hello.txt

nothing added to commit but untracked files present (use "git add" to track)

​ 这里显示没有正在跟踪的文件,有一个hello.txt文件没有被跟踪。

git add .

​ 添加目录中的所有文件进入暂存区。此时再查看是不是有暂存,返回:

On branch master

No commits yet

Changes to be committed:
  (use "git rm --cached <file>..." to unstage)
        new file:   hello.txt

​ 现在这个就是待提交的文件了,已经在暂存区中。

​ 提交暂存区的内容到本地仓库:

git commit -m "(备注信息)"

​ 现在再查看暂存,返回:

On branch master
nothing to commit, working tree clean

忽略文件

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

,临时文件,设计文件等

​ 在主目录下建立“.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

码云

生成公钥

​ 先打开码云

image-20210726203116460

​ 在用户文件夹下新建一个.ssh文件夹,如我的文件夹目录:C:\Users\DELL\.ssh,在.ssh文件夹里面打开git,输入:

ssh-keygen

​ 如果想用加密算法:

ssh-keygen -t rsa

​ 然后一直回车确定就可以了。

​ 这时打开生成的文件里面的id_rsa.pub。pub公共,懂吧。

image-20210726202857283

​ 把里面的内容复制到这里

image-20210726211906674

​ 添加成功后就会这样:

image-20210726212008950

新建一个自己的仓库

image-20210726212133304

​ 设置里面的许可证啥的随便勾选吧,具体也不需要。

​ 克隆创建的仓库:

git clone https://gitee.com/Fandos_delay/git-learning.git

​ 如果说以后git push的的时候不想输入密码,在克隆的时候,就选择ssh链接。

image-20210726215050857

​ 建立IDEA的git版本控制就不操作了,一般用不到。

​ 还有建立分支,也没多少用,现在用不太到。

复制粘贴快捷键

​ ctrl + ins 复制

​ shift + ins 粘贴

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值