Git入门和使用实践

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 init 后,产生 .git 文件夹作为 版本库
  • 工作区内的一个文件,通过 git add 将文件添加到 暂存区 ,再通过 git commit 将文件提交到 本地仓库

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

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

设置邮件地址和用户名

  • 用于提交项目时作为版本信息的一部分
命令说明
git config -l查看配置列表
git config --global user.email “you@example.com”全局配置中设置邮箱
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.远程仓库

远程仓库网站

网站网址
githubhttps://github.com/
码云https://gitee.com/
Code Chinahttps://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 “testgit@163.com”生成 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 statusgit 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 "test@163.com"

创建一个新仓库

git clone git@test.net/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 git@test.net/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
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

趴着喝可乐

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值