Git从入门到精通(一)

Git从入门到精通(一)

Git简单介绍,按照和常用的命令使用介绍

1.了解Git是什么以及Git的安装

01、Git是什么

  • 1:版本控制是企业中开发中非常中的一个环节。一般用来团队协同开发和代码的管理
  • 2:svn它集中式的版本控制,所有版本都依赖这个中心点,不支持离线工作
  • 3:Git它也是版本控制,它的版本控制都是用户自己的电脑完成控制。把这种版本控制叫:分布式的版
    本控制。目的:去中心化。

02、Git的由来和发展史及特点

同生活中的许多伟大事件一样,Git 诞生于一个极富纷争大举创新的年代。Linux 内核开源项目有着为数众广的参与者。绝大多数的 Linux 内核维护工作都花在了提交补丁和保存归档的繁琐事务上(1991-2002 年间)。到 2002 年,Linux 系统已经发展了十年了,代码库之大让Linus 很难继续通过手工方式管理了,于是整个项目组开始启用分布式版本控制系统 BitKeeper 来管理和维护代码。到 2005 年的时候,开发 BitKeeper 的商业公司同 Linux 内核开源社区的合作关系结束,他们收回了免费使用 BitKeeper 的权力。这就迫使 Linux 开源社区(特别是 Linux 的缔造者 Linus Torvalds )不得吸取教训,只有开发一套属于自己的版本控制系统才不至于重蹈覆辙。他们对新的系统订了若干目标:

  • 速度
  • 简单的设计
  • 对非线性开发模式的强力支持(允许上千个并行开发的分支)
  • 完全分布式

有能力高效管理类似 Linux 内核一样的超大规模项目(速度和数据量)
优点:
适合分布式开发,强调个体;
公共服务器压力和数据量都不会太大;速度快、灵活;
任意两个开发者之间可以很容易的解决冲突;离线工作。
缺点:
代码保密性差,一旦开发者把整个库克隆下来就可以完全公开所有代码和版本信息;
权限控制不友好;如果需要对开发者限制各种权限的建议使用 SVN。

03、Git协作开发得流程

代码托管中心的任务是:维护远程库。
在这里插入图片描述

04、Git安装-客户端和服务端

1:安装Git服务端

这是 windows 版本的 git 服务器;https://git-scm.com/download

2:安装Git的客户端工具 ---- TortoiseGit

这是 windows 下对 git 操作的一个图形界面管理工具,安装后可以方便地使用图形界面去操作git;

2.Git的常用命令

01、Git文件操作系列-创建版本库

  • 命令行创建本地仓库
git init   #创建本地仓库
git init --bare

ps:The difference between the two commands:stackoverflow

  • 核心文件了解
    在这里插入图片描述
目录描述
config该文件主要记录针对该项目的一些配置信息,例如是否以bare方式初始化、remote的信息等,通过git remote add命令增加的远程分支的信息就保存在这里;
objectsGit中的文件和一些操作都会以git对象来保存,git对象分为BLOB、tree和commit三种类型,例如git commit便是git中的commit对象,而各个版本之间是通过版本树来组织的,比如当前的HEAD会指向某个commit对象,而该commit对象又会指向几个BLOB对象或者tree对象。
HEAD该文件指明了git branch(即当前分支)的结果,比如当前分支是master,则该文件就会指向master,但是并不是存储一个master字符串,而是分支在refs中的表示,例如ref: refs/heads/master
index该文件保存了暂存区域的信息。该文件某种程度就是缓冲区(staging area),内容包括它指向的文件的时间戳、文件名、sha1值等;
Refs该文件夹存储指向数据(分支)的提交对象的指针。

02、Git文件操作系列-添加,修改,删除文件到暂存区和版本区

  • 查看文件状态: git status
    在这里插入图片描述
    在这里插入图片描述
  • 添加指定文件到缓存区: git add xxx.java
    在这里插入图片描述
  • 添加所有文件到缓存区: git add .
  • 在这里插入图片描述
  • 从缓存区中拉回到工作区: git rm --cached good.txt
    在这里插入图片描述
  • 添加文件到版本区:git commit -m 'write your comments for the added file’
    在这里插入图片描述
    git的整个过程不是可逆,一定工作区----暂存区—版本区

03、Git文件操作系列-查看状态,历史日记信息

  • 查看状态: git status
    如果文件还没有任何的add默认颜色:红色
    如果执行 git add xx 后 被add文件的颜色:绿色,意味着你的文件已经放入暂存区
    在这里插入图片描述
  • 查看日志:git log & git log --pretty=oneline(print out the logs by one line)
    在这里插入图片描述
  • 其他查看日志命令汇总
git log -n number  #check the last two logs
git log --graph    #
git log --graph -n 2
git log --graph --oneline -n 2

在这里插入图片描述

03、Git文件操作系列-忽略不需要提交的文件-.gitignore

  • 命令行添加方式
vim .gitignore
# input the ignored file 
ignore.txt
# seve the .gitignore
  • 添加到.gitignore中的文件在整个git版本管理周期中被排除
    在这里插入图片描述

3.Git的远程仓库和协同开发Gitee&GitHub

01、Github远程仓库-注册安装和关联

1:国外提供了一个远程仓库的平台:https://www.github.com
2:国内提供了一个远程仓库平台:https://www.gitee.com
在这里插入图片描述

  • 配置账号和密码
git config --global user.name "kekesam02"
git config --global user.email "1571828260@qq.com"
  • 添加本地仓库和远程仓库关联-https连接
git remote add origin https://github.com/kekesam02/gitdemo.git
# 如果删除之前关联:
# 初次关联使用提交代码的时候需要填写,账号和密码信息
git remote rm origin
git remote add origin 改成新的地址
  • 添加本地仓库和远程仓库关联-ssh连接(免密)
git remote add origin git@github.com:kekesam02/gitdemo.git
  • 修改远程关联
git remote set-url origin http://jcode.cbpmgt.com/git/<your rep name>.git/

02、Git文件操作系列-创建版本库设置签名

  • 设置项目级别的配置:仅在当前本地库范围有效
git config user.name "xiaoer"
git config user.email "xuchengfeifei@163.com"
  • 设置系统级别的配置:登录当前操作系统的用户都有效
git config --global user.name "xiaoer"
git config --global user.email "xuchengfeifei@163.com"
  • 查看全局的用户信息
    信息路劲:系统盘的–用户目录–用户名目录–.gitconfig文件中

使用原则:

  • 就近原则:项目级别的优先于系统级别的用户。二者都有时采用项目级别的签名。
  • 如果只有系统级别的签名,就以系统级别的签名为准。
  • 如果两者都没有是不允许,会报错。

03、Github远程仓库-提交文件到远程仓库中

  • 现在远程创建仓库
    在这里插入图片描述
    在这里插入图片描述
  • 关联远程仓库
# 添加对远程仓库的关联
git remote add origin https://gitee.com/michaelcoding/gitdemo.git
# 修改关联
git remote set-url origin https://gitee.com/michaelcoding/gitdemo.git

在这里插入图片描述

  • 推送本地仓库数据到远程
git push -u origin master

在这里插入图片描述

04、Github远程仓库-克隆远程仓库到本机

  • clone远程仓库到本机(默认clone master分支)
git clone  https://gitee.com/michaelcoding/gitdemo.git
  • 指定分支clone远程仓库到本机
git clone -b test  https://gitee.com/michaelcoding/gitdemo.git

注意:
1:它会自动创建本地仓库
2:它也会自动和远程仓库进行关联。
3:已经和远程仓库同步,只执行一次。

05、Github远程仓库- 更新到本机

  • 同步远程仓库的代码到本地仓库
git pull origin master

06、Github远程仓库-SSH-协议免密操作配置和注意事项

第一步:打开命令工具"git bash here" 输入命令 “ssh-keygen -t rsa ” 生成密钥和公钥

ssh-keygen -t rsa
ssh-keygen -t rsa -C michaelCoding

在这里插入图片描述
第二步:然后在命令执行的当前目录生成的公钥文件【mihcael.pub】内容复制出来.
在这里插入图片描述
第三步:打开github官网–【登录】–【settings】-【SSH-GPG keys】粘贴第二部中赋值的公钥:
在这里插入图片描述
第四步:测试和体验ssh的免密操作

07、Git远程仓库操作-邀请团队人员加入到团队中协作开发

  • 1:点击管理
    在这里插入图片描述
  • 2:邀请用户
    在这里插入图片描述
  • 3:使用邮箱或手机邀请用户
  • 在这里插入图片描述
    在这里插入图片描述
  • 4:被邀请人收到站内信,点击同意
    在这里插入图片描述
  • 5:被邀请人点击确认加入
    在这里插入图片描述
  • 6:被邀请人点击接受
    在这里插入图片描述
  • 7:邀请者查看是否邀请为开发者
    在这里插入图片描述

08、Git分支管理,合并分支,切换分支

  • 第一步:创建分支
git branch dev     # 创建分支 dev
git checkout dev   # 选中当前分支 dev
 # 注:上面两个命令可以组合成一个复合命令
git checkout -b dev
git checkout -b dev = (git branch dev + git checkout dev)
  • 第二步:查看分支
git branch
  • 第三步:添加文件,提交文件在当前分支
vim e.txt             # 创建文件,输入任意内容
git add .             # 提交e.txt文件,
git commit -m 'e.txt' # 提交e.txt文件到test分支中
  • 第四步:推送分支到远程仓库中
git push origin dev
  • 第五步:合并分支
git checkout master   # 切换回master分支
git merge dev         # 将dev下面的内容全部合并到master中
  • 第六步:删除分支
git branch -d dev
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值