Git分布式版本控制工具
创始人
2024-01-26 03:11:52

layout: post
title: Git分布式版本控制工具
description: Git分布式版本控制工具
tag: 开发工具


文章目录

  • git 基本配置与指令
    • 设置用户信息
    • 为常用指令设置别名
    • 解决gitbash乱码问题
    • 基础操作指令:初始化、添加到暂存区、提交到仓库、查看状态、日志
    • 版本回退git reset
    • 配置.gitignore
  • 分支
    • 分支创建、删除、合并、查看
    • 合并遇到冲突
  • 远程仓库
    • ssh公钥配置
    • git推送本地项目到远程的空仓库
    • 本地远程仓库操作
      • 推送到远程仓库

git 基本配置与指令

设置用户信息

设置用户信息:
git config --global user.name "lewis"
git config --global user.email "lewissince2022@163.com"
查看用户信息:
git config --global user.name
git config --global user.email

为常用指令设置别名

有些常用指令可能参数很多,可以使用别名来简化命令。指令设置别名的具体方法如下:

  1. 打开用户目录,创建.bashrc文件,部分Windows系统不允许用户创建点开头的文件,可以打开gitbash,执行touch ~/.bashrc
  2. 在.bashrc文件中输入如下内容:
    语法格式:alias 简化指令=实际指令
# 用于git提交日志
alias git-log='git log --pretty=oneline --all --graph --abbrev-commit'
# 用于输出当前目录所有文件及基本信息
alias ll='ls -al'
  1. 打开gitbash,执行source ~/.bashrc,使得文件生效。

解决gitbash乱码问题

  1. 打开gitbash执行下面命令
    git config --global core.quotepath fasle
  2. ${git_home}/etc/bash.bashrc (git_home即为git的安装目录)文件最后加入如下两行:
export LAN="zh_CN.UTF-8"
export LC_ALL="zh_CN.UTF-8"

基础操作指令:初始化、添加到暂存区、提交到仓库、查看状态、日志

在当前目录下初始化仓库:git init

git中非常主要的两个指令git addgit commit
在这里插入图片描述
add将新建文件(未追踪)或修改过的文件(未暂存)提交到暂存区,commit则将暂存区的修改加入到仓库,称为一次提交。

例子:

  1. 创建file01.txt:touch file01.txt
  2. 查看git状态(当前工作区文件的状态):git status
  3. 添加到暂存区(指定文件或者使用通配符’“.”添加所有):git add file01.txt或者git add .
  4. 再次查看状态:git status
  5. 提交到本地仓库,并添加注释为“add file01”:git commit -m "add file01"
  6. 再次查看状态:git status
  7. 查看git日志:git log

git log [option]

  • –all 显示所有分支
  • –pretty=oneline 将提交信息显示为一行
  • –abbrev-commit 使得输出的commit更简短
  • –graph 以图的形式显示

版本回退git reset

撤销某次不想要的提交:git reset --hard commitID
commitID使用git log查看
撤销提交后在git log中将不再显示

如果想要查看已经删除的记录
git reflog该指令记录了所有的操作
通过git reset --hard commitID可以再找回撤销前的版本

配置.gitignore

某些不想纳入Git管理的文件,可以在gitignore文件中列出需要忽略的文件模式
创建.gitignore文件: tourch .gitignore
编辑.gitignore:

# no .a files
*.a
# but do track lib.a, even though you're ignoring .a files above
!lib.a
# only ignore the TODO file in the current directory, not subdir /TODO
/TODO
# ignore all files in the build/ directory
build/
doc/*.txt
# ignore all pdf files in the doc/directory
doc/**/*.pdf

分支

分支创建、删除、合并、查看

  1. 查看分支:git branch
  2. 创建本地名为“dev01”分支:git branch dev01
  3. 再次查看分支:git branch
  4. 切换到分支dev01:git checkout dev01
  5. 创建分支dev02并切换到该分支:git checkout -b dev02
  6. 在dev02分支创建文件:tourch file02.txt
  7. 切换回master分支,合并dev02
    git checkout master
    git merge dev02
  8. 删除分支dev02:git branch -d dev02
    删除分支还有一个指令使用大写的D。
    大写的D是不检查,强制删除,小写的d删除时会检查分支是否还有未merge的提交。

合并遇到冲突

假定两个分支对于同一行代码进行了修改,git 在merge时将无法自动合并,需要人为手动调。
在这里插入图片描述

在这里插入图片描述

远程仓库

ssh公钥配置

生成SSH公钥:

  • ssh-keygen -t rsa
  • 不断回车

在Gitee设置账户公钥

  • 获取公钥 cat ~/.ssh/id_rsa.pub

在这里插入图片描述

  • 验证是否配置成功ssh -T git@gitee.com

git推送本地项目到远程的空仓库

1- 在远程比如gitee建立空仓库,复制仓库地址,例如:https://gitee.com/lewissince2020/my-leet-code.git

2- 在本地项目的根目录右键git bash here,进入git命令行,

初始化:建立本地空仓库,自动生成.git文件夹,指令:

git init

3- 绑定远程项目orgin

git remote add origin https://gitee.com/lewissince2020/my-leet-code.git

4- 拉远程项目和本地合并

git pull origin master --allow-unrelated-histories

5- 添加待提交内容,‘.’的含义是所有文件

git add .

6- 提交到本地仓库,‘-m’的含义是本次推送的message说明

git commit -m 'init'

7- 推送到远程仓库

git push origin master

本地远程仓库操作

推送到远程仓库

  • 推送命令:git push [-f] [--set-upstream] [远端名称][本地分支名][:远端分支名]
    • 如果远程分支名和本地分支名相同,则可以只写本地分支
      git push origin master
    • –set-upstream 推送到远端的同时并且建立和远端分支的关联关系
      git push --set-upstream origin master
    • 如果当前分支已经和远端分支关联,则可以省略分支名和远端名
      git push 将master分支推送到已经关联的远端分支
    • -f 是用本地分支强制覆盖远端分支的意思(假如远端和本地改变了同一程序的同一行发生冲突)
  • 查看本地分支与远端对应关系
    git branch -vv

相关内容

热门资讯

北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
插入行快捷键 excel添加空... 如下图所示,像这样在两行之间插入多行空白行的操作,你会几种?可能很多人都会觉得,不就是插入空行嘛,简...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...
脚上的穴位图 脚面经络图对应的... 人体穴位作用图解大全更清晰直观的标注了各个人体穴位的作用,包括头部穴位图、胸部穴位图、背部穴位图、胳...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
猫咪吃了塑料袋怎么办 猫咪误食... 你知道吗?塑料袋放久了会长猫哦!要说猫咪对塑料袋的喜爱程度完完全全可以媲美纸箱家里只要一有塑料袋的响...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
疑难件什么意思 淘宝退货为什么... 01 常见售后类型对于现在主流电商来说,通常支持的售后形式包括仅退款,退货退款,换货,补寄。用户根据...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...