git 的基础使用
配置:
首次安装完git后,需要配置信息

检查配置:

git修改:
git config --global user.name "Your_username" 重新设置git
git config --global user.email "Your_email"
生成公钥和私钥 ssh-keygen -t rsa -C “your_email@example.com”
id_rsa.pub就是公钥文件
git区域:
工作目录 (git add .)后到 暂存区 (git commit -m '注释')到 git版本库
状态:
使用git status 查看状态

未追踪 (Untracked)
已修改 (modified)
已暂存 (staged)
已提交 (committed)
git status -sb 可以查看冲突的文件,前面有UU标志的就是冲突文件

操作:
1.提交:git commit -m '提交'
git log 查看历史commit的记录
查看下一行内容:回车键或方向键下键
查看上一行内容:y键或方向键上键
查看下一页内容:空格键或PageDown键
查看上一页内容:b键或PageUp键
退出查看:q键
修复式提交:git commit --amend 后会进入编辑模式 :wq保存并退出
优点:不增加新的提交版本情况下,追加到前一次的提交中
2.删除 git rm 在git commit -m ''之后,不想push到远程的文件
git rm 文件 仓库和工作区中删除指定文件(注意:会删除记录和本地文件)
git rm -r 文件夹 git rm和git rm -r慎用!!!,会删除本地
下面两个会经常用到,不会删除本地!!
git rm --cached 文件 只删除仓库中的文件(就是会恢复到未被git add 追踪前)
git rm -r --cached 文件夹 只删除仓库中的文件夹()
注意:上面所有操作后后一定已在提交一次git commit -m '',记录
3.回退版本 git reset 在git add后,取消追踪
git reset HEAD 文件名 撤销某一个文件
git reset HEAD . 从暂存区撤销所有文件
特别提醒及注意!!!下面代码会清除本地修改,并且会删除git log指定版本号后面的的版本记录,慎用!!
git reset --hard HEAD^ 最近的一次版本
git reset --hard 指定版本号 版本号可通过git log查询
不小心用了上面两个,还有解决办法:对于没有commit 就没办法解决
1.git reflog 查看所有版本记录

2. 使用 git reset HEAD@{x} x就是你恢复的版本号,但是恢复后是删除的状态,文件还是没有出现在本地
3.使用 git checkout . 放弃本地修改,就会取消删除,文件就会恢复到本地

工作常用流程:
1.git pull 拉取代码 ---->2.git add . 提交本地 3. git commit -m '' 4 git push
git pull 拉取分支:
拉取指定分支到当前本地分支:git pull origin 远程分支名
拉取指定分支到指定本地分支:git pull origin 远程分支名:本地分支名
拉取时,代码冲突方法
1.git stash 保存本地代码版本
2.git pull 更新代码
3. git stash pop 合并冲突代码
4. 本地修改
5. 然后进行git add . 等等一系列操作
查看分支:
git branch ;查看本地分支
git branch -r ;查看远程分支
git fetch --all ; 更新本地分支,例如同事B新增一个分支,更新后,本地也能获取
新建分支:
1. git checkout -b yxy 建立分支,并切换 相当于执行git branch yxy 和git checkout yxy两个命令
git branch yxy 创建分支
git checkout yxy 切换分支
2. git push origin yxy 创建和切换完成后需要将新的分支发送到仓库保存
3. git branch --set-upstream-to=origin/yxy yxy 远程分支的名字 本地分支的名字 将远程分支和本地分支建立联系,才能Push代码
合并分支:
//假设当前是master分支
git merge origin/dev 将dev分支代码合并到master分支
合并分支时出现Please enter a commit message to explain why this merge is necessary(请输入提交消息以解释为什么需要合并)
直接按esc 然后输入:wq
删除分支:先要切换至其它分支
git branch -d 分支名称 如果分支没有合并,则不能删除
git branch -D 分支名称 强制删除
git push origin --delete 分支名称 删除远程仓库分支
git fetch --all 更新本地分支情况
git stash用法:当前开发未完成时,需要切换其它分支
将git add . 暂存区的代码删除并缓存起来
git stash 和git stash save 'xxx' 效果一样
git stash list 获取缓存列表
拉取指定的git stash pop stash@`{1`}缓存列表项
也可以使用git stash pop apply stash@`{1`}
pop和 apply 区别:pop会删除list里面的记录,而apply不会
git合并commit 提交记录
这篇文章写的很详细 https://blog.csdn.net/qq_39253370/article/details/124277214
esc q 退出 i编辑 wq保存 大写ZZ也是保存
git 合并分支的某一个commit代码 git cherry-pick <commit_id>
将一个分支上某个commit合并到另一个分支
例:将dev分支的commit_id 未d54sada55qw5dsadqw8ddf5ef5dasd合并到master分支
1.切换master分支
2.执行cherry-pick命令
3.git push
退回到合并之前 git cherry-pick --abort
git 的基础使用的更多相关文章
- git学习基础教程
分享一个git学习基础教程 http://pan.baidu.com/s/1o6ugkGE 具体在网盘里面的内容..需要的学习可以直接下.
- Git入门基础详情教程
前言 写了一篇文章<一篇文章了解Github和Git教程>还觉得不错,继续写了<为了Github默默付出,我想了解你>,那么继续写Git 基础知识. Git 官网:https: ...
- Git使用基础篇
Git使用基础篇 前言 Git是一个分布式的版本控制工具,本篇文章从介绍Git开始,重点在于介绍Git的基本命令和使用技巧,让你尝试使用Git的同时,体验到原来一个版 本控制工具可以对开发产生如此之多 ...
- Git使用基础篇(zz)
Git使用基础篇 您的评价: 收藏该经验 Git是一个分布式的版本控制工具,本篇文章从介绍Git开始,重点在于介绍Git的基本命令和使用技巧,让你尝试使用Git的同时,体 ...
- Mac下Git的基础操作
目前最火的版本控制软件是Git了吧,今天简单梳理一下Mac下Git的基础操作~~ 一.什么是Git Git是一个分布式代码管理工具,用于敏捷的处理或大或小的项目,类似的工具还有svn. 基于Git的快 ...
- Mac 下 Git 的基础命令行操作
Mac 下 Git 的基础命令行操作 sudo apt-get install git-core //安装Git 用户配置 git config --global user.name "Yo ...
- Git及基础命令的介绍以及如何向本地仓库添加文件
在介绍Git的使用之前,我们得要先来了解一下Git.那么什么是Git? Git是一个版本管理工具(VCS),具有以下的特点: 分布式版本控制: 多个开发人员协调工作: 有效监听谁做的修改: 本地及远程 ...
- Git Bash基础使用(初始化)
前提是在码云上已经新建一个空的项目,可参考:https://www.cnblogs.com/babysbreath/p/9170455.html 1.新建一个目录,存放下载下来的项目,我在D盘新建了一 ...
- git的基础使用
GIT """ 什么是git:版本控制器 - 控制的对象是开发的项目代码 代码开发时间轴:需求1 > 版本库1 > 需求2 > 版本库2 > 版本 ...
- Git 实用基础(配置,建库,提交,推送 GitHub)
Git 实用基础(配置,建库,提交,推送 GitHub) SVN ? Git ? 目前市面上主流的版本控制系统就是 SVN 和 Git . 两者的区别简单通俗地说就是,版本数据是否有在本地. 如果觉得 ...
随机推荐
- Jupyter Notebook入门指南
作者:京东科技隐私计算产品部 孙晓军 1. Jupyter Notebook介绍 图1 Jupter项目整体架构 [https://docs.jupyter.org/en/latest/project ...
- ArcObjects SDK开发 一些可直接调用的对话框
在ArcMap中,一些对话框是很复杂的,例如设置点线面样式的对话框,选择空间参考的对话框等,但这些对话框有些在ArcObjects SDK中是可以直接调用的. 1.空间参考选择设置对话框 弹出空间参考 ...
- P5683 [CSP-J2019 江西] 道路拆除
简要题意 给你一个 \(m\) 条边 \(n\) 个点的无向图.你需要去掉一些边,使得 \(1 \to s_1,1 \to s_2\) 连通,且 \(1 \to s_1\) 的最短路径长度小于 \(t ...
- 第三方模块的下载与使用 requests模块 openpyxl模块
今日内容 第三方模块下载操作 第三方模块: 别人写的魔魁啊 一般情况下都很强大 python中模块很多 如果想使用第三方模块 第一次必须先下载 后面就可以反复使用 =内置模块 下载第三方模块的方式: ...
- 打包iOS App并上架到TestFlight测试
开发者账号 首先需要注册一个开发者账号,不然什么都免谈.在手机Apple Developer上注册给钱就行了,个人开发者一年688元. 打包App App开发好后,就可以通过XCode打包.打包前选好 ...
- 基础文之-----typeof 和 instanceof
为了巩固基础,我会通过实例来详细说明,让我们一起搞懂 typeof 和 instanceof. <!DOCTYPE html> <html lang="en"&g ...
- 用XAMPP搭建本地:Web服务器,访问服务器,下载服务器。
用XAMPP搭建本地:Web服务器,访问服务器,下载服务器. 首先需要下载XAMPP,链接为:XAMPP下载地址,XAMPP中文网. 下载完成后进行安装,直接一键点到底. 一.如何确定我们安装完成了? ...
- ES6块级作用域let声明和const声明以及与var之间的区别
一.ES6块级作用域 let 声明 块级声明用于声明在指定作用域之外无法访问的变量,存在于: ①函数内部 ②块内(字符{和}之间的区域) 禁止重声明 (1)如果在作用域由已经存在某个标识,再用let声 ...
- Python 发展趋势:与 Rust 深度融合、更易于编写 Web 应用
大家好,我是猫哥,好久不见!2022 年末的时候,我不可避免地阳了,借着身体不舒服就停更了,接踵而至的是元旦和春节假期,又给自己放了假,连年终总结也鸽了,一懈怠就到了 2 月中旬-- 现在是我家娃出生 ...
- 实现简单的`Blazor`低代码
本篇博客只实现基本的低代码,比如新增组件,动态修改组件参数 创建项目 首先创建一个空的Blazor Server,并且命名LowCode.Web 实现我们还需要引用一个Blazor组件库,由于作者用M ...