git易学教程

git易学教程

Git(读音为/gɪt/)是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。(摘自百度百科)
其实git就是一个分布式版本控制工具,常见的版本控制工具有Git、SVN等等。

下载与安装

下载

登录官网:https://git-scm.com/downloads下载与系统对应版本即可。
官网下载比较慢,也可以通过git淘宝镜像:https://npm.taobao.org/mirrors/git-for-windows/下载。

安装

默认一直下一步即可完成安装。

启动Git

安装成功后,在出现三个工具,如下图:
在这里插入图片描述

  • Git Bash:启动与Unix和Linux命令行一样的命令行,使用最多(建议使用命令行,熟悉命令)。
  • Git CMD:启动window命令行。
  • Git GUI: 启动Git图形化界面,不建议私用。

Git配置

git config -l # 查看所有配置(系统配置和用户配置)
git config --system --list # 查看系统配置
git config --global --list # 查看用户配置

git的配置都保存在本地,通过命令行操作配置,其实就是操作本地的文件。

  • 系统配置在{git安装目录下}/Git/ect/gitconifg
  • 用户配置在{系统用户}\.gitconfig

设置Git用户名和邮箱

如果不存在{系统用户}\.gitconfig该文件,可以配置系统文件用户信息

git config --global user.name 'zhangsan' # 设置用户名
git config --global user.email  '12345678@qq.com' # 设置git邮箱

执行后就可以看见系统配置文件了

Git的四个区域

git包含有:工作区(存放代码的地方)、暂存区(存放工作区中修改的文件列表信息的文件)、本地仓库(本地存放数据的位置,Head指向最新放入仓库的版本)、远程仓库(托管代码的服务器),具体关系如下:
img

仓库搭建

git init # 本地仓库的搭建,产生.git文件夹(默认是隐藏的)
git clone url # 克隆远程仓库,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 # 查看所有文件的状态
git status [filename] # 查看指定文件的状态
git add . # 将所有文件加入暂存区
git commit -m '提交信息' # 将文件提交到本地仓库

设置忽略的文件

有些文件我们不需要进行版本控制,则我们可以设置特定文件不上传仓库。
在主目录下建立".gitignore"文件,此文件有如下规则:

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

gitee注册

github网速比较慢,我们可以使用码云(gitee).登录gitee官网
1.注册账户
2.登录账户,设置公钥,实现免密登录

ssh-keygen -t rsa  # 生成公钥,在{系统用户}/.ssh/id_rsa.pub
## 将该文件中的内容,放置到gitee账户下的公钥输入框内保存即可

在这里插入图片描述
创建仓库,拉去仓库,修改后提交项目到远程服务器即可对项目进行项目版本控制了。

git分支常用命令

所谓分支,就是多个版本同时存在。

# 列出所有本地分支git branch
# 列出所有远程分支git branch -r
# 新建一个分支,但依然停留在当前分支git branch [branch-name]
# 新建一个分支,并切换到该分支git checkout -b [branch]
# 合并指定分支到当前分支$ git merge [branch]
# 删除分支$ git branch -d [branch-name]
# 删除远程分支$ git push origin --delete [branch-name]$ git branch -dr [remote/branch]

是不是很easy! 喜欢的话,关注下-点个赞支持下,谢谢!
一路有你,一起成长

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值