Git版本管理工具的作用:

(1)完整的记录项目代码变化的过程

(2)备份每一个变化过程的代码版本

(3)多人协同开发

1.配置全局变量

(1)配置用户名

git config --global user.name '名字'

(2)配置email

git config --global user.email '邮箱'

(3)查看配置

git config --list

2.项目提交命令

(1)初始化仓库

git init --初始化当前文件夹

git init 文件夹 --初始化指定文件夹

(2)查看仓库状态

git status

(3)添加文件(使新增文件被git追踪或者已被追踪的文件修改后更新追踪)

git add 文件名 --添加xxx文件

git add . --追踪所有的文件,包括新增和修改

(4)提交文件到本地仓库

a)git commit --提交到本地仓库,需要自己进行文本编辑

ESC键->:wq退出

b)git commit -m '提交名称' --提交到本地仓库

c)git commit -am '提交名称' --提交到本地,将add和commit两步合成一步(只能使用于已经追踪的文件,不能使用于未被追踪的文件,比如:修改后的文件可以使用,新创建的文件不能使用)

对于新创建的文件如下:

3.日志命令

(1)git log --查看所有的提交

(2)git log -p -2 --查看最近两次提交的日志

(3)git log --oneline --显示每次提交信息的hash值和提交名称

(3)git log --graph【主要用于不同分支】

(4)git log --graph --oneline 【主要用于不同分支】

(5)git log --author='用户名' --查找某个用户提交记录

(6)git log --pretty=format:"%h - %an,%ar:%s"

对应:哈希值,用户,提交时间,提交名称

4.对比命令

(1)git diff 文件 --对比已经被追踪的某个文件前后的修改(one)

(2)git diff --对比所有已经被追踪的文件的前后对比(all)

(3)git diff --staged 文件 对比两个文件的差异

总结:

git diff 和git diff --staged 的区别在于:git diff是在add之前查看被追踪的文件修改前后的差异;git diff --staged是在add之后,commit之前查看被追踪文件修改前后的差异

5.忽略文件

在git版本管理工具中,git只能识别.gitignore文件,将文件名称写入到.gitignore文件中,那么git就会忽略这个或者这类文件。

忽略某个文件夹:/文件夹名称

忽略具体的某个文件:index.html

忽略某类文件:*.txt

a)于已经提交或者已经被管理的文件,可以使用git rm -r --cached 文件或者文件夹或者"."来剔除这个文件,让文件处于未被追踪的状态。

b)将要忽略的文件添加到.gitignore文件中

c)重新提交

6.撤销修改的内容

(1)git checkout -- 文件名 (撤销的内容是未add之前的内容)

(2)git reset HEAD 文件名 (先将文件从缓存中取出来)

git checkout -- 文件名 (然后再撤销修改的内容)

(在add后,commit之前)

7.回退到某个版本(回退后无法返回)

(1)git reset --hard HEAD^ (回退到上一个版本)

(2)回退到上上一个版本:git reset --hard HEAD^^ (有多少个^就表示一个版本)

(3)回退到指定的hash号版本:git reset --hard HEAD hash号

8.回到某个版本(可以找回所有提交版本)

v1->v2->v3->v4->回到v2操作->v5(本质是v2)

git checkout hash号 -- . (指所有文件)(回到指定版本)

git commit -m '名称' 重新提交恢复到指定版本的文件

9.分支操作

(1)查看当前所有分支,并所处在哪个分支上(*表示所处的当前分支)

(2)创建分支(相当于创建的时候把master分支拷贝了一份):git branch 分支名称

(3)切换到xxx分支上:git checkout 分支名称

(4)创建xxx分支并切换到xxx上:git checkout -b 分支名称

(5)删除分支(如果你正处于要删除的分支上,那么无法删除这个分支):git branch -d 分支名称

(5)根据hash值找回分支:git branch 原分支名称 hash值

10.合并分支

先切换到主分支上,然后:git merge 分支名称(要合并的分支)

11.解决合并分支冲突

master分支内容如下:

develop分支内容如下:

步骤一:将develop合并到master上,首先处于master分支上,输入命令:git merge develop ,如果发生冲突,解决冲突。

方式一:忽略冲突。无法决断使用哪个方案,就忽略合并。命令行:git merge --abort

方式二:手动合并冲突。将代码中冲突的地方进行手动合并,然后提交,

合并代码如下:

12.查看版本线路

git log --oneline --graph --all

13.git使用码云远程仓库

(1)创建远程仓库

此时git仓库未创建,需要创建仓库,如下:

(2)其他分支提交

(3)将项目克隆下来

步骤一:git clone 地址

步骤二:添加需要的分支

方法二:将已经存在的仓库克隆到本地

步骤一:先初始化本地仓库:git init

步骤二:将本地仓库和远程仓库进行连接:git remote add 变量名(任取名字) 远程仓库地址

步骤三:克隆项目到本地:git pull 变量名 master(主分支名称)

(4)开发过程中的上载和下载

上载开发的功能:git push

下载:giit pull

(5)远端仓库创建了一个分支,本地仓库没有

步骤一:目前存在的分支

步骤二:远端仓库多出一个demo分支

使用命令行:git pull

进行更新项目

步骤三:使用命令行:git checkout demo 将demo分支添加到本地仓库

(6)在本地仓库删除远端仓库分支

命令行:git push origin --delete 分支名称

(6)仓库迁移

有两个仓库A,B,将A仓库的项目迁移到B仓库中,如下步骤:

步骤一:建立仓库B,并输入如下命令:

git remote set-url origin 新地址

步骤二:git push --all

Git的基础使用(一)的更多相关文章

  1. git学习基础教程

    分享一个git学习基础教程 http://pan.baidu.com/s/1o6ugkGE 具体在网盘里面的内容..需要的学习可以直接下.

  2. Git入门基础详情教程

    前言 写了一篇文章<一篇文章了解Github和Git教程>还觉得不错,继续写了<为了Github默默付出,我想了解你>,那么继续写Git 基础知识. Git 官网:https: ...

  3. Git使用基础篇

    Git使用基础篇 前言 Git是一个分布式的版本控制工具,本篇文章从介绍Git开始,重点在于介绍Git的基本命令和使用技巧,让你尝试使用Git的同时,体验到原来一个版 本控制工具可以对开发产生如此之多 ...

  4. Git使用基础篇(zz)

    Git使用基础篇 您的评价:          收藏该经验       Git是一个分布式的版本控制工具,本篇文章从介绍Git开始,重点在于介绍Git的基本命令和使用技巧,让你尝试使用Git的同时,体 ...

  5. Mac下Git的基础操作

    目前最火的版本控制软件是Git了吧,今天简单梳理一下Mac下Git的基础操作~~ 一.什么是Git Git是一个分布式代码管理工具,用于敏捷的处理或大或小的项目,类似的工具还有svn. 基于Git的快 ...

  6. Mac 下 Git 的基础命令行操作

    Mac 下 Git 的基础命令行操作 sudo apt-get install git-core //安装Git 用户配置 git config --global user.name "Yo ...

  7. Git及基础命令的介绍以及如何向本地仓库添加文件

    在介绍Git的使用之前,我们得要先来了解一下Git.那么什么是Git? Git是一个版本管理工具(VCS),具有以下的特点: 分布式版本控制: 多个开发人员协调工作: 有效监听谁做的修改: 本地及远程 ...

  8. Git Bash基础使用(初始化)

    前提是在码云上已经新建一个空的项目,可参考:https://www.cnblogs.com/babysbreath/p/9170455.html 1.新建一个目录,存放下载下来的项目,我在D盘新建了一 ...

  9. git的基础使用

    GIT """ 什么是git:版本控制器 - 控制的对象是开发的项目代码 代码开发时间轴:需求1 > 版本库1 > 需求2 > 版本库2 > 版本 ...

  10. Git 实用基础(配置,建库,提交,推送 GitHub)

    Git 实用基础(配置,建库,提交,推送 GitHub) SVN ? Git ? 目前市面上主流的版本控制系统就是 SVN 和 Git . 两者的区别简单通俗地说就是,版本数据是否有在本地. 如果觉得 ...

随机推荐

  1. matlib:图像旋转-缩放

    需求 使用MATLAB尝试完成一个自定义的图像攻击软件,功能描述: 1)根据输入参数,完成旋转功能 2)根据输入参数,完成缩放功能 开始 旋转 参数:参数为正,顺时针旋转:参数为负,逆时针旋转 主要代 ...

  2. [rustGUI][iced]基于rust的GUI库iced(0.13)的部件学习(05):svg图片转为png格式(暨svg部件的使用)

    前言 本文是关于iced库的部件介绍,iced库是基于rust的GUI库,作者自述是受Elm启发. iced目前的版本是0.13.1,相较于此前的0.12版本,有较大改动. 本合集是基于新版本的关于分 ...

  3. OpenStack基本介绍

    本文分享自天翼云开发者社区<OpenStack基本介绍>,作者:m****n 基本介绍 OpenStack是一个开源的云计算管理平台项目,由几个主要的组件组合起来完成具体工作.OpenSt ...

  4. 深入剖析实体-关系模型(ER 图):理论与实践全解析

    title: 深入剖析实体-关系模型(ER 图):理论与实践全解析 date: 2025/2/8 updated: 2025/2/8 author: cmdragon excerpt: 实体-关系模型 ...

  5. 1分钟学会DeepSeek本地部署,小白也能搞定!

    DeepSeek 是国内顶尖 AI 团队「深度求索」开发的多模态大模型,具备数学推理.代码生成等深度能力,堪称"AI界的六边形战士". DeepSeek 身上的标签有很多,其中最具 ...

  6. waterdrop同步mysql数据到hive

    一.shell类型任务,提交到yarn集群 #!bin/bash#=========================数据源配置,只读账号=========================jdbc_ur ...

  7. Luogu P2824 排序 题解 [ 紫 ] [ 线段树 ] [ 二分 ] [ adhoc ]

    排序:二分线段树神仙好题. trick 我们可以二分值域,然后把大于等于它的数标记成 \(1\),其他标记为 \(0\)(有些题需要标记成 \(-1\) ),然后根据这个来 check 方案是否可行, ...

  8. OSAL架构

    OSAL操作系统最多可以支持16个任务,由任务功耗管理PwrMgr_task_state变量可知,而OSAL每个任务最多只能支持16个事件处理,理论上最大可以执行256个事件处理. 对于一些运算能力不 ...

  9. 【攻防世界】BadProgrammer

    BadProgrammer(原型链污染) 题目来源 攻防世界 NO.GFSJ0986 题目描述 打开网址页面如下,没有什么有用信息 用dirsearch扫一下目录,发现/static../(用御剑扫不 ...

  10. Spark core 总结

    Spark RDD五大特性 1.RDD由一组partition组成 2.每一个分区由一个task来处理 3.RDD之间有一些列依赖关系 4.分区类算子必须作用在kv格式得RDD上 5.spark为ta ...