首页 > 其他分享 >Git

Git

时间:2023-10-17 20:11:57浏览次数:29  
标签:文件 Git -- git 版本 目录

Git

介绍

版本控制的概念

是一种在开发过程中,用于方便管理我们(多人协作)的代码、修改、版本、工程修改,便于查看历史记录、备份、恢复以前版本的技术。

版本控制器的三种类型

1.本地版本控制

记录文件每次的更新,对每一个版本做一个快照存储在本地计算机(适合个人。如rcs)

2.集中版本控制

所有数据统一在远程服务器上,本地只有以前版本的数据,使用前需要从远程服务器上同步到本地,在修改编辑,上传到远程服务器。

(如SVN,CVS,VSS)

3.分布式版本控制

所有文件都可以同步到本地计算机仓库,然后在同步到远程服务器。相当于每个本地计算机都是一个仓库,但还是要上传到统一的远程服务器。

如Git。

Git的历史

Git是linux系统创始人linus两周开发出来的,是为了便于管理linux系统开源社区的代码的协同开发,减少工作量,提高开发效率。


Git的使用

Git基本介绍

安装与环境配置

安装

官网 Git - 安装 Git (git-scm.com)

windows:一直点下一步就行了

linux:

环境配置

配置命令

git config -l  #查看配置
git config --system --list  #查看系统配置
git config --global --list  #查看当前用户配置

注意事项

Git相关的配置文件:

  1. Git\mingw64\etc\gitconfig :Git 安装目录下的 gitconfig --system 系统级

  2. C:\Users\Administrator\ .gitconfig 只适用于当前登录用户的配置 --global 全局

    这里可以直接编辑配置文件,通过命令设置后会响应到这里。

设置用户名与邮箱(非常重要)

当你安装Git后首先要做的事情是设置你的用户名称和e-mail地址。这是非常重要的,因为每次Git提交都
会使用该信息。它被永远的嵌入到了你的提交中:

git config --global user.name "kuangshen"  #名称
git config --global user.email 24736743@qq.com  #邮箱

只需要做一次这个设置,如果你传递了--global 选项,因为Git将总是会使用该信息来处理你在系统中所

做的一切操作。如果你希望在一个特定的项目中使用不同的名称或e-mail地址,你可以在该项目中运行

该命令而不要--global选项。 总之--global为全局配置,不加为某个项目的特定配置。

Git的三种终端介绍
Git Bash

类似于Unix、Linux的终端操作。

常用命令

cd  #进入目录
ls  #列出目录下的文件
mkdir  #创建一个目录
toush  #创建一个文件
rm -ft  #删除文件或目录
mv  #移动文件或目录
cp  #复制文件或目录
pwd  #显示当前路径
clear  #清理当前终端界面
reset  #重启终端
history  #列出历史命令
Git CMD

类似于Windows的终端操作

Git GUI

Git的图形操作界面

Git的基本理论与操作流程

基本理论

Git的四个工作区域

  1. 工作目录:编写、存放代码的文件目录
  2. 暂存区:暂时存储工作区代码的修改,实质上是一个文件记录版本的修改
  3. 资源区:本地版本存储仓库
  4. 远程存储库:远程统一的代码版本控制存储库(如Gitee,Github)

四个工作区关系如下图

操作流程

  1. 在工作目录中添加、修改文件:
  2. 将需要进行版本管理的文件放入暂存区域;
  3. 将暂存区域的文件提交到gt仓库。
    因此,git管理的文件有三种状态:已修改(modified),已暂存(staged),已提交(committed)

如图

Git文件状态与关系

文件状态

版本控制就是对文件的版本控制,要对文件进行修改、提交等操作,首先要知道文件当前在什么状态,
不然可能会提交了现在还不想提交的文件,或者要提交的文件没提交上。

  1. Untracked: 未跟踪, 此文件在文件夹中, 但并没有加入到git库, 不参与版本控制. 通过 git add
    状态变为 Staged .
  2. Unmodify: 文件已经入库, 未修改, 即版本库中的文件快照内容与文件夹中完全一致. 这种类型的文
    件有两种去处, 如果它被修改, 而变为 Modified . 如果使用 git rm 移出版本库, 则成为
    Untracked 文件
  3. Modified: 文件已修改, 仅仅是修改, 并没有进行其他的操作. 这个文件也有两个去处, 通过 git
    add 可进入暂存 staged 状态, 使用 git checkout 则丢弃修改过, 返回到 unmodify 状态,
    这个 git checkout 即从库中取出文件, 覆盖当前修改 !
  4. Staged: 暂存状态. 执行 git commit 则将修改同步到库中, 这时库中的文件和本地文件又变为一
    致, 文件为 Unmodify 状态. 执行 git reset HEAD filename 取消暂存, 文件状态为
    Modified
如何查看文件状态
git status  #查看所有文件状态
git status [fliename]  #查看指定文件状态
转换关系

如图

Git项目搭建与常用命令

项目搭建

本地仓库搭建
  1. 创建全新的仓库:在该仓库的本地目录下进入Git Bash终端输入以下命令

    git init  
    

    此时会出现一个.git的隐藏文件,该文件就记录了所有的版本信息

  2. 远程目录克隆一个目录:即该仓库的本地目录下进入Git Bash终端输入以下命令

    git clone [远程目录url]
    

    此时该目录下就会出现与远程目录一样的目录

远程版本存储库的搭建

Gitee搭建

  1. 注册登录码云,完善个人信息
  2. 设置本机绑定SSH公钥,实现免密码登录!
# 进入 C:\Users\Administrator\.ssh 目录
# 生成公钥
ssh-keygen -t rsa
  1. 将公钥信息public key 添加到码云账户中即可!
  2. 使用码云创建一个自己的仓库

Github搭建

Git常用命令

git add  #添加工作区文件到暂存区
git commit  #将暂存区文件上传的本地版本库
git push  #将本地版本库文件上传到远程版本库
git pull  #从远程版本库下载文件到工作区
git fetch/clone  #从远程版本库下载文件到本地版本库
git checkout  #从本地版库将文件移动到工作区
git rm  #将文件移出本地版本库
git reset HEAD [filename]  #指定退回某一次提交的版本

如何忽略不想上传的文件

有些时候我们不想把某些文件纳入版本控制中,比如数据库文件,临时文件,设计文件等

在主目录下建立".gitignore"文件,此文件有如下规则:

  1. 忽略文件中的空行或以井号(#)开始的行将会被忽略。
  2. 可以使用Linux通配符。例如:星号(*)代表任意多个字符,问号(?)代表一个字符,方括号

([abc])代表可选字符范围,大括号({string1,string2,...})代表可选的字符串等。

  1. 如果名称的最前面有一个感叹号(!),表示例外规则,将不被忽略。
  2. 如果名称的最前面是一个路径分隔符(/),表示要忽略的文件在此目录下,而子目录中的文件不

忽略。

  1. 如果名称的最后面是一个路径分隔符(/),表示要忽略的是此目录下该名称的子目录,而非文件

(默认文件或目录都忽略)。

#为注释
*.txt #忽略所有 .txt结尾的文件
!lib.txt #但lib.txt除外
/temp #仅忽略项目根目录下的TODO文件,不包括其它目录temp
build/ #忽略build/目录下的所有文件
doc/*.txt #会忽略 doc/notes.txt 但不包括 doc/server/arch.txt

Git分支

标签:文件,Git,--,git,版本,目录
From: https://www.cnblogs.com/rupan/p/17770554.html

相关文章

  • git配置多个ssh-key
    Windows系统下Git多个ssh-key的管理。随意百度下有好多文章,但是总是出现问题,clone、push代码出现:Error:Permissiondenied(publickey)。多数是config文件出现问题,然后Host不正确。于是自己动手,记录下步骤,发布博客希望能帮助到更多人。1、生成对应的私钥公钥cd~/.sshssh-keygen......
  • 升级gitlab
    升级gitlab目录升级gitlab一、背景:二、升级路径:三、rpm下载地址四、操作命令整理一、背景:服务器版本:gitlab-ce-13.2.2-ce.0.el8.x86_64目前最新版本:gitlab-ce-16.4.1-ce.0.el8.x86_64.rpm二、升级路径:在下面的升级路径中找到您的版本所在的位置,然后升级GitLab因此,在......
  • 你的Github账户可能被封禁!教你应对Github最新的2FA二次验证! 无地区限制, 无额外设备
    12FA的定义双因素身份验证(2FA)是一种身份和访管理安全方法,需要经过两种形式的身份验证才能访河资源和数据,2FA使企业能够监视和帮助保护其最易受攻击的信息和网络。22FA的身份验证方法使用双因素身份验证时有不同的身份验证方法。此处列出了一些最受欢迎的选项。2.1硬......
  • git 提交说明
    git分支中,main表示稳定版本,develop为开发版,dev-**为开发具体功能的版本所以,开发时一般在dev-**分支中,提交到develop版本开发功能步骤:gitcreatebranchandswitchdev-***编码gitswitchbranchdev变基合并或者变基-gitmergedev-***todev;创建......
  • GitFlow
    分支规范 Master(永远只有一个分支)发布分支,与线上保持一致,只能由release|hotfix分支合并代码,该分支不能修改只能合并Develop开发分支,由master分支拉取,包含所有要发布到下一个Release的代码,这个主要合并与其他分支,比如Feature分支命名规范:dev-大版本号.小版本号.递增数Te......
  • 第一章 第五六七节 git的使用介绍
    git简介1.综述git的好处​ git可以管理master,dev,bug等代码分支,互不影响减少出错的可能性;​ 有利于团队合作,让大家互不影响,同时容易解决代码冲突;2.git分支的分类,一般名称​ master<=>dev保持一致​ feature分支;bug分支;其他分支3.git的下载和安装​ git官网提供下......
  • git 基本介绍 转自官方
    本文由简悦SimpRead转码,原文地址git-scm.com起步1.1关于版本控制1.2Git简史1.3Git是什么?1.4命令行1.5安装Git1.6初次运行Git前的配置1.7获取帮助1.8总结Git基础2.1获取Git仓库2.2记录每次更新到仓库2.3查看提交历史2.4撤消......
  • 开发中常用的一些git命令及顺序性
    从远程仓库拉取代码:gitclone 仓库地址同步远程所有分支到本地(在任何已有分支下执行都行):gitremoteupdateorigin--prune  (如果要单独同步远程某个分支,则执行gitremoteupdateorigin远程分支名--prune,然后在vscode中左下角点击切换到该远程分支,则会在本地同步一......
  • Git 流程优化-实践
    用gitcz代替gitcommit操作全局安装npminstall-gcommitizencz-conventional-changelognpmi-gcz-customizable写入配置echo'{"path":"cz-customizable"}'>~/.czrc在项目根目录下写入文件.cz-config.jsmodule.exports={//可选类型typ......
  • Git在工作中的基本应用
    一Git的起源Git的定义有一句名言"你要知道从哪里来,才能知道未来可能通向何方"。所以我们首先肯定聊的就是Git的起源。那么Git的定义是什么?Git是一种分布式开源版本管理工具(VCS),你可以用它存储代码、跟踪修订历史记录、合并代码更改,并在需要时恢复为较早的代码版本......