Git入门和使用实践

文章目录

  • Git入门和使用实践
  • 一、前言
  • 二、正文
    • 1.本地仓库
      • 基础知识
      • 设置邮件地址和用户名
      • 将文件添加到本地仓库
      • 版本状态
      • 版本切换
      • 版本撤销
    • 2.分支
      • 基础知识
      • 基础操作
      • 冲突解决
    • 3.远程仓库
      • 远程仓库网站
      • 关联远程仓库
    • 4.配置
      • 基础知识
      • 查看和编辑
      • 配置别名
    • 5.标签
    • 6.忽略文件
  • 三、其它
    • 1.命令行指引

Git入门和使用实践

一、前言

  1. 环境说明
  • 操作系统:Windows 10 专业版
  • Git 版本:2.30.0
  1. 简介
  • Git是一个免费的开源 分布式版本控制系统,旨在快速高效地处理从小型到大型项目的所有内容。

Git 官网:https://git-scm.com/

Git 中文网:http://www.git-scm.com.cn/

Learn Git Branching :https://learngitbranching.js.org/?demo=&locale=zh_CN

廖雪峰官网:https://www.liaoxuefeng.com/wiki/896043488029600/

Git flow:https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow

GitHub 常用忽略文件的配置:https://github.com/github/gitignore

二、正文

1.本地仓库

基础知识

Git入门和使用实践_第1张图片

  • 项目文件夹内为 工作区
  • git init 后,产生 .git 文件夹作为 版本库
  • 工作区内的一个文件,通过 git add 将文件添加到 暂存区 ,再通过 git commit 将文件提交到 本地仓库

安装好 git 软件后,项目文件夹内,右击鼠标 - Git Bash Here 运行指令

默认 .git 文件夹为隐藏项目

设置邮件地址和用户名

  • 用于提交项目时作为版本信息的一部分
命令 说明
git config -l 查看配置列表
git config --global user.email “[email protected] 全局配置中设置邮箱
git config --global user.name “Your Name” 全局配置中设置用户名

将文件添加到本地仓库

命令 说明
git status 查看状态
git add 添加到暂存区
git add . 点号表示所有文件,即将当前目录所有文件添加到暂存区
git commit -m “first commit” 将暂存区的文件提交到本地仓库,-m 表示填写版本备注信息

版本状态

状态 说明
nothing to commit, working tree clean 没有需要提交的文件,即没有文件或文件已全部提交
Untracked files 创建文件后,未添加到暂存区
new file 文件首次添加到暂存区,未提交
modified 文件之前已提交,当前已对文件进行了修改

版本切换

  • 每次提交成功后,都会产生一个 ID
命令 说明
git log 查看提交的日志信息,包括 ID、作者、提交时间、备注信息和 HEAD 指针指向
git log --pretty=oneline 简化提交的日志信息,包括 ID、备注信息和 HEAD 指针指向
git reset --hard [ ID ] 切换到指定 ID 的版本,ID 可截断
git reset --hard HEAD^ 回退到上一个版本
git reset --hard HEAD^^ 回退到上两个版本
git reflog 查看所有提交的日志信息,避免回退后,无法找到之前的 ID

版本撤销

命令 说明
git checkout – (未提交到暂存区)撤销文件的修改,即将修改内容丢弃
git reset HEAD (已提交到暂存区)将误提交暂存区的文件回退到工作区
git restore --staged (已提交到暂存区)将误提交暂存区的文件回退到工作区

2.分支

基础知识

git flow:https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow

  • 执行 git status 时会显示 HEAD 指针指向,标识 HEAD 的版本,即为 当前工作区的版本
  • HEAD 指针同时会指向默认的分支:master 分支
  • 一般的,企业会将 master 分支作为发布分支,不做开发,只做合并;而进行开发工作时,需要迁出开发分支(dev),完成开发后,合并到 master 分支
  • 本地仓库迁出分支可以进行模块开发或者 bug 修复,远程仓库迁出分支可以进行多人多模块开发

基础操作

命令 说明
git checkout -b [ 分支名称 ] 迁出指定名称的分支
git branch 查看当前所处分支
git checkout [ 分支名称 ] 切换到指定名称的分支
git branch -d [ 分支名称 ] 删除分支
git branch -D [ 分支名称 ] 强制删除分支
git merge [ 分支名称 ] 合并分支

冲突解决

  • master 分支中合并其它分支,需要手动修改冲突的文件,然后,在 master 分支上执行 add 和 commit 操作即可

3.远程仓库

远程仓库网站

网站 网址
github https://github.com/
码云 https://gitee.com/
Code China https://codechina.csdn.net/
gitlab(自托管的 git 项目仓库) https://gitee.com/mirrors/gitlab (镜像库)

关联远程仓库

  • 需要先在远程仓库中创建一个新的仓库
  • 设置中,可以删除仓库

创建SSH-Key

  • 仓库设置中,找到 SSH and keys 菜单,填写本地电脑生成的 SSH Public Key
  • ssh key 生成目录:C://User/[系统用户名]/ .ssh ;远程仓库填写 id_rsa.pub 的内容
命令 说明
ssh-keygen -t rsa -C “[email protected] 生成 ssh key

关联和推项目

命令 说明
git remote 查看本地仓库和远程仓库的关联信息
git remote -v 查看本地仓库(origin)对应远程仓库的链接
git remote add origin [远程仓库链接<.git>] 本地仓库(origin)和远程仓库实现关联
git push -u origin master 推本地仓库(origin)的文件到远程仓库(master)
git push 推操作,执行过一次 -u 的 push 后,可省略关联信息

拉项目

命令 说明
git clone [远程仓库链接<.git>] 克隆远程仓库到本地环境
git pull 拉操作,用于更新项目

4.配置

基础知识

  • 仓库配置、全局配置和系统配置,优先级别(就近原则):仓库配置 > 全局配置 > 系统配置
  • 仓库配置位于工作区 .git 文件夹下的 config 文件
  • 全局配置位于 C://User/[系统用户名]/ 文件夹下的 .gitconfig 文件
  • 系统配置位于 git 安装目录下 etc 文件夹里面的 gitconfig 文件

查看和编辑

命令 说明
git config -l 查看配置列表
git config --local -l 查看仓库配置列表
git config --global -l 查看全局配置列表
git config --system -l 查看系统配置列表
git config --local -e 编辑仓库配置 ;-e 表示编辑
git config --global --add user.name “Your Name” 全局配置新增配置项;--add 表示新增配置项
git config --global --unset user.name 全局配置取消配置项;--unset 表示取消配置项

配置别名

  • 简化操作命令
命令 说明
git config --global alias.st status git status 命令简化为 git st
git config --global alias.ol ‘log --pretty=oneline’ git log --pretty=oneline 简化为 git ol

5.标签

  • 打标签,设置版本号;解决版本库 ID 过长不方便记忆的问题
命令 说明
git tab 查看标签列表
git tag [版本号] [ID] 打标签,绑定版本号和 ID
git tag [版本号] [ID] -m “备注信息” 打标签,并添加备注信息
git tag -d [版本号] 删除标签

6.忽略文件

github 常用忽略文件的配置:https://github.com/github/gitignore

  • 忽略工作区中的文件,即忽略那些不需要被 git 管理的文件

  • 解决方法:

    工作区根目录下创建 .gitignore 文件;

    然后,配置文件或文件类型;

    最后,将忽略文件提交到本地仓库中

三、其它

1.命令行指引

Git 全局设置

git config --global user.name "JotaX"
git config --global user.email "[email protected]"

创建一个新仓库

git clone [email protected]/springboot-project.git
cd springboot-project
touch README.md
git add README.md
git commit -m "add README"
git push -u origin master

推送现有文件夹

cd existing_folder
git init
git remote add origin [email protected]/springboot-project.git
git add .
git commit -m "Initial commit"
git push -u origin master

推送现有的 Git 仓库

cd existing_repo
git remote rename origin old-origin
git remote add origin git@test/springboot-project.git
git push -u origin --all
git push -u origin --tags

你可能感兴趣的:(#,Middleware,git)