Git的配置与使用

Git的配置与使用:

1.git的介绍

进入Git的官网,第一句话:Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.(Git是一个免费的、开源的分布式版本控制系统,旨在快速高效地处理从小型到非常大的项目。)

分布式版本控制系统:

  • 版本控制:是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况

    ​ 其中最主要的功能就是追踪文件的变更,常见的工具有Git、SVN等

  • 分布式:简单说就是将数据放在不同的服务器上,防止服务器不会因损坏或者网络问题,造成不能工作的情况.

2.git的安装、配置

下载:

  • 去官网下载:https://git-scm.com/
  • 找镜像下载比较快:http://npm.taobao.org/mirrors/git-for-windows/

安装:

  • 一路下一步下一步就可(注意文件安装的路径,默认C,可以改)

配置:

  • 在桌面空白地方有点就有一个git bash here双击即可启动git的bash界面

在这里插入图片描述

  • 所有的配置文件,其实都保存在本地!

    #查看本体配置
    git config -l
    #查看系统config
    git config --system --list  
    #查看当前用户(global)配置,第一次运行的时候什么都没有
    git config --global  --list
    
  • 设置用户名与邮箱(用户标识,必要)

    git config --global user.name "******"  #名称
    git config --global user.email 24736743@qq.com   #邮箱
    
    峥@DESKTOP-V5168QI MINGW64 /e/新桌面
    $ git config --global --list
    user.name=astonish
    user.email=xgmdws@163.com
    
  • 查看配置文件,在C盘—>当前用户—>.gitconfig文件,里面就是用户名和邮箱信息

3.git运行原理(重点)

git有4个工作区域:

  • 工作目录(Working Directory):平时存放项目代码的地方
  • 暂存区(Stage/Index):用于临时存放你的改动
  • 本地仓库(Repository或Git Directory):安全存放数据的位置,这里面有你提交到所有版本的数据
  • 远程仓库(Remote Directory):托管代码的服务器,将项目放到服务器上

git文件的状态:

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

工作流程:

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

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

  • 3.将暂存区域的文件提交到git仓库;

  • 4.将本地仓库代码push到远程仓库;

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9NFIeIny-1606656124464)(C:\Users\峥\AppData\Roaming\Typora\typora-user-images\image-20201129151703182.png)]

4.Git本地仓库的搭建

方式1:在本地创建一个全新的仓库(.git属于隐藏文件,需要勾选隐藏的项目才可以看得见)

创建一个目录用来当本地仓库,在该目录空白地方右键:git bash here
#查看当前目录
峥@DESKTOP-V5168QI MINGW64 /d/git 
$ pwd
/d/git
#初始化一个本地仓库
峥@DESKTOP-V5168QI MINGW64 /d/git
$ git init
Initialized empty Git repository in D:/git/.git/

方式2:从远程仓库克隆一个仓库到本地

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xn96upCe-1606656124470)(C:\Users\峥\AppData\Roaming\Typora\typora-user-images\image-20201129152632293.png)]

从远程找到一个仓库,复制下仓库地址,找到一个不是本地仓库的目录,右键git bash here

输入命令:git clone 远程仓库地址

峥@DESKTOP-V5168QI MINGW64 /f/test_git/git
$ git clone https://gitee.com/astonish/data-structure-and-algorithm.git
Cloning into 'data-structure-and-algorithm'...
remote: Enumerating objects: 6, done.
remote: Counting objects: 100% (6/6), done.
remote: Compressing objects: 100% (6/6), done.
remote: Total 6 (delta 0), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (6/6), 13.35 KiB | 46.00 KiB/s, done.

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2GCrSLz1-1606656124473)(C:\Users\峥\AppData\Roaming\Typora\typora-user-images\image-20201129153037189.png)]

5.git的使用

本地仓库的操作(文件只有在暂存区才能被提交)

#查看文件状态
git status  文件名 [-s]
#将文件添加到暂存区
git add 文件名
#将暂存区的文件取消暂存
git reset 文件名
#将暂存区的文件提交到本地仓库,日志信息是必写的,不写的话执行命令了也会跳到相应的文件让写日志信息(就是这次提交你干了啥)
git commit  文件名  -m "日志信息"
#删除工作区的文件
git rm 文件名
#撤销删除
git restore 文件名
#查看日志记录
git log

忽略提交时的文件

一般我们总会有些文件无需纳入Git 的管理,也不希望它们总出现在未跟踪文件列表。通常都是些自动生成的文件,比如日志文件,或者编译过程中创建的临时文件等。 在这种情况下,我们可以在工作目录中创建一个名为 .gitignore 的文件(文件名称固定),列出要忽略的文件模式。下面是一个示例:

  1. 忽略文件中的空行或以井号(#)开始的行将会被忽略。
  2. 可以使用Linux通配符。例如:星号(*)代表任意多个字符问号(?)代表一个字符方括号([abc])代表可选字符范围大括号({string1,string2,…})代表可选的字符串等。
  3. 如果名称的最前面有一个感叹号(!),表示例外规则,将不被忽略。
  4. 如果名称的最前面是一个路径分隔符(/),表示要忽略的文件在此目录下,而子目录中的文件不忽略。
  5. 如果名称的最后面****是一个路径分隔符(/),表示要忽略的是此目录下该名称的子目录,而非文件(默认文件或目录都忽略)
# no .a files
*.a		忽略以.a结尾的所有文件
# but do track lib.a, even though you're ignoring .a files above
!lib.a		忽略以.a结尾的所有文件,除去lib.a文件
# only ignore the TODO file in the current directory, not subdir/TODO
/TODO		表示要忽略TODO目录下的文件,但子目录中的文件不忽略。
# ignore all files in the build/ directory
build/	 忽略build目录下的所有文件
# ignore doc/notes.txt, but not doc/server/arch.txt
doc/*.txt	忽略doc目录下所有以.txt结尾的所有文件,但子目录中的不忽略
# ignore all .pdf files in the doc/ directory
doc/**/*.pdf  忽略doc目录以及子目录下所有以.pdf结尾的文件

远程仓库操作

#查看本地仓库管理的远程仓库
git remote [-v]
#添加远程仓库(在该本地仓库中)
git remote add 仓库路径
#从远程仓库克隆
git clone 仓库路径
#移除本地仓库和远程仓库的关联
git remote rm 关联名(默认为origin)
#从远程仓库获取最新版本到本地仓库,不会自动合并处理
git fetch
#合并某一个分支
git merge  分支名
#从远程仓库获取最新版本并merge到本地仓库(自动合并处理)
git pull
#推送到远程仓库
git push 关联名称  上传的分支

6.IDEA集成git(重点)

从本地创建一个仓库忘远程仓库上传

1.创建一个项目,将该项目交给git管理
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2fQIcyyI-1606656124475)(C:\Users\峥\AppData\Roaming\Typora\typora-user-images\image-20201129170124580.png)]
2.将文件加入到暂存区中
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RloX91dI-1606656124476)(C:\Users\峥\AppData\Roaming\Typora\typora-user-images\image-20201129170642901.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Fo3d0iUN-1606656124478)(C:\Users\峥\AppData\Roaming\Typora\typora-user-images\image-20201129170848828.png)]
4.将暂存区中的文件上传到本地仓库中,注意日志
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XgJmlz42-1606656124479)(C:\Users\峥\AppData\Roaming\Typora\typora-user-images\image-20201129171338751.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kXDsIGPp-1606656124481)(C:\Users\峥\AppData\Roaming\Typora\typora-user-images\image-20201129171642095.png)]
5.将本地仓库的文件推送到远程仓库中
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ztytpbyu-1606656124482)(C:\Users\峥\AppData\Roaming\Typora\typora-user-images\image-20201129171835841.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XrzagOEA-1606656124483)(C:\Users\峥\AppData\Roaming\Typora\typora-user-images\image-20201129171938044.png)]
第一次推送的时候需要输入gitee的用户名和密码,输入后再进行推送
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jXmIAtnD-1606656124484)(C:\Users\峥\AppData\Roaming\Typora\typora-user-images\image-20201129172052583.png)]
第一次推送的时候会报一个Push to origin/master was rejected错误,是因为本地仓库和远程仓库的代码不一样。简单来说就是代码冲突了,复杂来说就是你动了不该动的代码
解决方法:执行命令:git pull origin master --allow-unrelated-histories重新拉取,然后将文件添加到本地仓库,再进行远程的推送,在gitee中查看即可

6.从远程仓库拉取最新信息
在这里插入图片描述
还有一个分支的使用,我就不再者进行介绍了,需要的可以去https://gitee.com/astonish/gitdemo01.git 里面看分支的操作和使用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值