git—版本控制工具

目录

1. git 是什么?

2. git 的作用是什么?

3. git的下载安装

 4. git的配置

 5. git基础命令

 5.1 初始化 git 仓库

 5.2 git的三个区

5.3 git的工作流程

 5.4 git的基本命令

 5.5 git忽视文件

6. git的分支命令

相关命令

分支命令补充

 7. 分支冲突

8. git 远程仓库

 8.1 克隆、拉取、提交远程代码

 9. git常用命令总结


1. git 是什么?

        git 是一个 版本控制工具

2. git 的作用是什么?

        代码存档备份 、文件版本管理、 多人协作开发

3. git的下载安装

        git下载官网地址  注意:不要安装在中文目录

  • 一直 next下一步即可(如果想更改默认的安装路径,请不要出现中文)。
  • 安装成功后,桌面不会有任何图标。
  • 任意文件夹内,右键能看到如下菜单,表示安装成功。
  • Mac系统,打开终端,输入git --version 回车,看到git版本号表示安装成功。

 4. git的配置

  • 当我们使用Git记录代码的版本的时候,Git需要知道你是谁?也就是提交代码的人是谁?
  • Git要求,必须配置一个用户名和一个邮箱
    • 用户名,根据团队要求配置或者自定义配置 —— git config --global user.name "xxx"
    • 邮箱,根据团队要求配置或者自定义配置 —— git config --global user.email "xxx"  
    • 查看配置信息 —— git config --list      

 5. git基础命令

 5.1 初始化 git 仓库
 如果自己有一个尚未进行版本控制的项目目录,想要用Git 来控制它,需要执行如下两个步骤:
  • windows用户,进入项目文件夹中,通过鼠标右键打开 "Git Bash Here"
  • Mac用户,找到项目文件夹,在文件夹上鼠标右键,选择“在此处新建终端窗口”
  • 执行 git init 命令,将当前的目录转化为 Git仓库

 初始化仓库,在当前目录下生成一个隐藏文件夹.git —— git init

 git init 命令会创建一个名为 .git 的隐藏目录,这个.git目录就是当前项目的Git仓库,里面包含了初始的必要文件。

 注意事项:

  • 找对项目文件夹(必须保证终端中的路径是项目文件夹)
  • 初始化之后,会在项目文件夹中出现一个.git的隐藏文件夹;有关git的全部记录都在里面,不可轻易删除
  • 不可以嵌套初始化
 5.2 git的三个区

5.3 git的工作流程
  1. 在工作区中修改文件(新建文件、修改文件内容等等)
  2. 将修改好的文件,添加到暂存区,暂存
  3. 将暂存区的文件,提交到仓库,形成版本记录

 5.4 git的基本命令
  • git status 查看工作区文件的状态 (红色:新创建的文件或被修改的文件。 绿色:文件在暂存区待提交。)
  • git log 作用:查看提交日志(版本记录)
    • 如果日志比较多,命令窗口会显示不全
    •  按 ↓键,可以查看剩余的日志
    •  随时按 q键,退出查看
  •  使用git log命令时,可以跟一些选项,简化显示的日志信息:
    •  git log --oneline 单行查看简略版日志
    •  git log -n 查看最近n次提交的日志
    •  git reflog 查看所有的提交日志
  •  git reset
    • 作用:版本回退,将代码恢复到已经提交的某一个版本中
    • 命令: git reset --hard 版本号 ——  可以回退到任意版本(回退版本后,注意观察工作区的代码)
  •  git reflog —— 可以查看所有的版本信息
  •  git add .  —— 会将项目工作区目录的所有文件,都暂存管理
  • git reset 文件名称 / git reset —— 把文件从暂存区移除
 5.5 git忽视文件
 在仓库中,有些文件是不想被git管理的。git可以通过配置从而达到忽视掉这些文件
 操作步骤:
  1. 仓库根目录中新建一个 .gitignore 文件(固定文件名)
  2. 将不需要被git管理的文件路径,添加到 .gitignore

6. git的分支命令

        Git的分支功能,允许在当前开发线的基础上,分叉出去一个新的开发线,一个分支代表一条独立的开发线。 分支的存在,可以保证功能开发的独立性。
        在初始化本地 Git 仓库的时候,Git 默认已经帮我们创建了一个名字叫做 master 的分支(称作主分支)。
        在实际工作中,master 主分支的作用是: 用来保存和记录整个项目已完成的功能代码 因此,不允许程序员直接在 master 分支上修改代码,因为这样做的风险太高,容易导致整个项目崩溃。 实际开发中,会从master分支分叉出来新分支,用于功能开发,开发测试完毕后再合并到主分支。

相关命令
  • git branch —— 查看分支
  • git branch 分支名 —— 创建分支
  • git checkout 分支名 —— 切换分支
  • git merge 分支名  —— 合并代码
分支命令补充
  • git checkout -b 分支名 —— 创建并切换分支
  • git branch -d 分支名  —— 删除分支

 注意:

  • git checkout -b 分支名称 是下面两条命令的简写形式:
    • git branch 分支名称
    • git checkout 分支名称

 7. 分支冲突

        如果在两个不同的分支中,对同一个文件进行了不同的修改,Git 就没法干净的合并它们,就会出现合并冲突。

 

        如果 在两个不同的分支中 ,对 同一个文件 进行了 不同的修改 ,Git 就没法干净的合并它们。
此时,我们需要打开这些包含冲突的文件,然后 手动解决冲突 ,提交处理完的结果

 分支的本质:分支实质上是一个指针(游动的标记),指向最后一次的版本记录。

        每次commit提交后,会形成新的版本记录,这个分支指针就会向后移动,保证一直指向最后一次提交的版本。
        注意:git 第一次提交时,就有了一个 master 主分支 ,指向第一个提交版本

 

 其实版本回退切换,只是在让分支指针指向不同的版本记录。

当切换分支时,指针也会跟着移动。
当删除分支时,只是把对应的指针删掉即可。

8. git 远程仓库

 远程仓库:托管在因特网或其他网络中项目版本库。支持多人协作,共同管理远程仓库。

 如何创建一个远程仓库?在哪创建?

 git代码托管平台

专门用于 存放远程仓库 的网站平台,就是代码托管平台

常见的代码托管平台:
  • github 全球最大的开源项目托管平台 - 免费,国内访问受限,不稳定
  • gitee 码云,国产开源项目托管平台。免费,访问速度快、纯中文界面、使用友好
  • gitlab 对代码私有性支持较好,企业用户多, 一般收费,允许自建 git 服务器

 举例:

 

 git支持多种传输协议:

 最常用的两种传输协议:

  • https协议:需要输入用户名和密码 —— https://gitee.com/xxx/test.git
  • ssh协议需要配置秘钥,可免密码登录 —— git@gitee.com:xxx/test.git
  • 注意:在实际公司开发中,ssh 的方式更为常见,更加安全可靠 
ssh 秘钥的作用:
ssh key 的 作用 :实现本地仓库和 gitee平台 之间 免登录 加密数据传输
ssh key 由 两部分组成 (一对密钥) ,分别是:
  1. id_rsa(私钥文件,存放于客户端的电脑中)
  2. id_rsa.pub(公钥文件,需要配置到 gitee平台 中)

生成ssh key
步骤:
  1. 打开 Git Bash
  2. 粘贴如下的命令 ssh-keygen -t rsa
  3. 连续敲击 3 次回车,即可在 C:\Users\用户名文件夹\.ssh 目录中生成 id_rsa 和 id_rsa.pub 两个文件
  4. 使用记事本打开 id_rsa.pub 文件,复制里面的文本内容
  5. 粘贴配置到 码云 -> 设置 -> ssh 公钥 中即可
  6. 检测是否配置成功,打开命令行,执行:ssh -T git@gitee.com
配置:
  1. 打开终端,找到进入.ssh文件夹 —— cd ~/.ssh
  2. 查看.ssh文件夹中的文件(一般有两个“id_rsa ,id_rsa.pub)—— ls
  3. 查看对应的公钥文件内容 —— cat id_rsa.pub
  4. 复制内容,配置到对应的平台
 8.1 克隆、拉取、提交远程代码
  • git clone —— 克隆远程仓库的代码到本地
    • git clone [远程仓库地址]
  • git pull —— 拉取更新,将远程的代码下载合并到本地的分支
    • git pull
  •  git push —— 将本地仓库中代码提交到远程仓库
    • git push 远程仓库地址 分支名
    • 第1步,将本地仓库和远程仓库建立关联(给远程仓库地址起个别名)                            git remote add origin 远程仓库地址
    • 第2步,使用 git push -u origin 分支名称 命令推送
    • 注意:第一次推送分支可以带 -u 参数,此后可以直接使用 git push 推送当前分支代码到远程分支了。
  • 如何拉取别人的远端分支到本地?下载远端分支本地
    • git checkout -t origin/分支名 —— 先在本地建立一个分支,并切换到该分支,然后从远程分支上同步代码到该分支上
    •  后续拉取该分支的更新,执行命令:git pull
  • git remote
    • 如果每次push操作都带上远程仓库的地址,非常的麻烦,我们可以给仓库地址设置一个别名
    • 添加:git remote add origin 远程仓库的地址
    • 查看:git remote -v
    • 删除:git remote remove origin

 9. git常用命令总结

  1. 分支管理git branchgit checkoutgit mergegit rebase 等命令用于管理和操作分支。

  2. 标签管理git tag 命令用于管理标签,可以用来标记重要的提交或版本。

  3. 查看提交历史git log 命令用于查看提交历史,可以显示提交的作者、日期、提交信息等。

  4. 查看状态和差异git statusgit diff 命令用于查看工作目录的状态和文件之间的差异。

  5. 撤销操作:除了 git revert,还有 git resetgit checkout 等命令可以用来撤销操作。

  6. 存储临时更改git stash 命令用于将当前工作目录的临时更改存储起来,以便稍后恢复。

  7. 子模块git submodule 命令用于管理子模块,允许将一个 Git 仓库作为另一个 Git 仓库的子目录。

  8. 远程操作:除了 git pushgit pull,还有 git fetchgit remote 等命令用于远程操作。

  9. 重写历史git rebasegit commit --amend 等命令用于重写提交历史。

  10. 交互式操作git add -pgit rebase -i 等命令允许进行交互式操作,更精细地控制提交历史和代码变更。

git init在当前目录初始化一个新的 Git 仓库
git clone 远程仓库地址克隆一个远程仓库到本地
git add 文件名称将某个文件添加到暂存区
git add .将所有文件添加到暂存区
git commit -m "提交内容描述" 提交暂存区的文件到本地仓库,并附带一条提交消息
git status查看当前工作区和暂存区的状态
git diff查看当前工作区和暂存区文件的差异
git log查看提交历史
git branch 分支名称创建一个新的分支
git checkout 分支名称切换到指定分支
git merge 分支名称将指定分支合并到当前分支
git pull拉取远程仓库的更新到本地
git push推送本地提交到远程仓库
git remote -v查看远程仓库的信息
git fetch获取远程仓库的更新到本地,但不自动合并
git reset 文件名称将文件从暂存区移除,但保留在工作区
git reset --hard 提交id将当前分支指向指定的提交,并丢弃暂存区和工作区的修改
git revert 提交id创建一个新的提交,撤销指定提交的修改
  • 26
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值