Git初步了解

git版本控制

  1. 项目模块小组分开开发,每个人开发完后需要整个成一个整体的项目 ,借助版本控制工具来解决
  2. 项目是开发是过程化的,(v1.0 --> v1.1 --> v1.2 --> v2.0)用版本控制工具,轻松切换每一个版本
    版本控制工具分类
    git (分布式)
    svn (集中式)

区别:

  1. 不管git 还是svn 都是版本控制工具都能形成版本(version )
    git能在开发者本机形成自己的版本version控制,但是svn 必须提交中央服务器才能形成版本

    1. 不管是git还是svn 如果是要代码合并,必须都要依靠中央服务器

    2. 在git中大部分 “合法操作” 都是可以撤回的 ,但是在svn中有些操作是不可以撤回

使用

1.git运行在linux内核上
1.1下载: git 官网 下载安装包 傻瓜式安装(下一步)
1.2检查git 是否安装成功
桌面右击 --》 git bash here --> 用git bash 交互窗口打开当前目录 (内部可以写linux命令)
1.3常用的linux命令
cd --> change diretory --> 切换目录

  • cd ~ 切换到用户家目录

  • cd - 切换到上一个目录位置

ls --> list --> 列出当前目录下的显示的文件和文件夹

  • -a 查看所有文件包括隐藏文件 linux 中以.开头的文件就是隐藏文件 ./ …/ .abc.txt

  • -l 以长格式查看文件和文件夹

touch 文件名 --> 创建文件和更新已存在文件的访问时间
mkdir 文件夹名 --> 创建文件夹
cat 文件名 --> 查看文件内容
echo ’ ’ > 终端(文件) --> 输出 字符串
> 覆盖写
>> 追加写
mv 原文件夹/文件 目标位置/重命名 --> 移动文件、重命名
cp 文件 位置/文件名 --> 拷贝文件
cp -r 目录 位置/目录名 --> 拷贝目录
pwd 打印当前的工作目录
ctrl + a 前置光标
ctrl + e 后置光标
ctrl + c 放弃当前行命令状态 开启下一行
clear 清屏
history 查看历史命令
rm -rf 文件/文件名 -->
文件修改 --》 编辑文件内容
目录修改 --> 目录重命名 删除 ,目录内部文件的增删改

window 文件是按照文件后缀名区分文件类型 但是linux 中 他不是以文件后缀名区分文件类型的 (linux中所有的类型都是文件 ,正式因为这样linux系统相对安全)
1.4linux 中的 权限
d rwxr-xr-x 1 xuanqiyan 197121 0 May 17 08:45 git/
rwx (所有者) r-x (所属组) r-x (其他人)
r : read 读取
w : write 写
x : execute 执行

2.基本实验

2.1如果是第一次操作git 需要设置email 和 name
设置:

  • git config --global user.name “”

  • git config --global user.email “”

查询:

  • git config user.name

  • git condfig user.emai

删除:

  • git config --local --unset user.name
  • git config --local --unset user.email
    作用: 是提交代码或者本地形成版本需要根据 name 和 email 识别这个版本作者是谁

2.2将1一个原始的文件夹 变成 git 所能控制的git仓库

git init
作用: 在当前目录下形成一个.git这样的隐藏文件夹 还有master分支(默认主分支)的显示
2.3如何形成一个版本

 touch a.txt
        echo "代码" >> a.txt

        git add a.txt

        git commit -m '版本说明'

2.4查看提交版本的历史

git log

3.git中的区域

3个区域: 工作区 暂存区 对象区
补充命令:

  • git status 查看当前git仓库所有中文件的状态

3.1重新执行2 针对每一次操作查看状态

   echo 'aaa' >> a.txt

    git status --》 查看git仓库中的文件状态 
        /*
            On branch master  //在主分支master上
            No commits yet    //还没有任何提交 
                        Untracked files:  // untarcked 未追踪 文件:(tracked追踪 )
            (use "git add <file>..." to include in what will be committed) //使用git add 将未追踪的文件 加入到commit之前的区域 (暂存区)
                    a.txt   // 未追踪的文件
        */

    git add a.txt

    git status  
        /*
            On branch master  
            No commits yet
            Changes to be committed: // 暂存区的内容可以被提交 形成版本
            (use "git rm --cached <file>..." to unstage)   //可以使用 git rm --cached <file> 将暂存区的文件重新撤销到工作区
                    new file:   a.txt // 对于暂存区有一个新的追踪的文件a.txt 加入
        */   

    git commit -m '第一次提交' 

    git status
        /*
            On branch master  
            nothing to commit, working tree clean  // 暂存区清空了  工作区 clean 意思是工作区所有的文件都形成版本了,对象区区的最新的版本和工作区的内容完全一致 ,这叫 clean (清空),而不是工作区的文件丢失或者隐藏

        */

3.2如何将暂存区的内容重新拉回到工作区

  1. mkdir test && cd test && git init

  2. touch a.txt
    echo ‘aaa’ >> a.txt

  3. git add a.txt

  4. git status

 On branch master
        No commits yet
        Changes to be committed:
        (use "git rm --cached <file>..." to unstage)  //目的: 将暂存区的a.txt 拉回到unstage 状态(工作区)
                new file:   a.txt
  1. 执行撤销
 git rm --cached a.txt      
        注意: 如果第一次从暂存区撤销到工作区 使用这个命令 
        rm 'a.txt' 从暂存区删除了 到工作区了 
  1. git status
发现 回到一开始未add之前的状态
        On branch master
        No commits yet
        Untracked files:
        (use "git add <file>..." to include in what will be committed)
                a.txt

3.2提交多个版本 以及日志查看方式

  1. mkdir test && cd test && git init
  2. touch a.txt b.txt
echo 'aaaa' >> a.txt
echo 'bbbb' >> b.txt
  1. git add . // 注意: 这个 “.” 指的是 相对于上一次提交的本版而言工作新所有更改(新增 删除 修改)的文件

  2. git commit
    注意:如果commit时候没有 加-m 参数 会打开vi编辑器 让你输入版本说明文字 ,说明文字可以多行输入

  3. 第一个版本形成了
    git log 查看提交日志

  4. touch c.txt

 echo 'cccc' >> c.txt
  1. git add .

  2. git status

  On branch master
  Changes to be committed:
  (use "git restore --staged <file>..." to unstage)  
        new file:   c.txt
  1. git restore --staged c.txt

注意: 都是从暂存区撤销到工作区,但是命令不一样,因为此时第二次加入到工作区了,以后每一次撤销都是用这个命令

  1. git commit -m ‘xxx’

不能直接提交,因为暂存区没有任何何以提交的内容

  1. git add .

  2. git commit -m ‘第二个版本’

  3. git log --》 查看所有日志

   commit cb98a0d2743b70f49b9c1606fc999ec3f2c1a477 (HEAD -> master)
    Author: Yanzhijie <1730903@163.com>
    Date:   Tue May 18 10:34:33 2021 +0800

        第二个版本

    commit f851d27133b2e057db3e6eefbb3d256bdeceafaa
    Author: Yanzhijie <1730903@163.com>
    Date:   Tue May 18 10:19:27 2021 +0800

        这是第一次提交
        这个代码很棒
        这是我写的
  1. 多种方式查看日志
    git log -n --> 查看最近几次提交日志
    git log --pretty=oneline --> 以单行查看日志内容

git log --pretty=format:"%h - %an ,%ar : %s"

git优势

  1. 能在本地和服务器形成版本控制

  2. git的版本成重写提交说明
    svn 不可以重写提交说明

  3. git 一般都可以撤回‘后悔’

  4. git 强大的分支系统,每个分支都有独特的函数
    master --> 主分支 --> 不直接做开发 分支代码稳定,直接上线发布
    dev --> 开发分支 --> 开发代码的分支
    test --> 测试分支 --> 测试人员 测试代码安全性能分支

    分支:
    版本形成的提交线路

  5. git形成版本 (全量备份 ) svn (增量备份)
    git: 每个版本保存全部代码文件 (修改的和未修改的)
    svn: 每个版本只保存修改的代码 (修改的代码 项目不完整)

总结

  • git是一个版本管理工具
  • git可以帮我们托管代码,每一次提交信息都会被记录在git仓库
  • git可以帮我们管理代码,后续我们都是团队开发,每一个开发一个功能,通过git可以帮我们把代码进行整合
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值