git日常使用整理
注册使用gitlab新用户
在gitlab注册完账号后,创建项目,会有如下提示
点击add an SSHkey 现实如下:
点击generate it,按照提示计算ssh key
把结果粘贴到gitlab添加到ssh key 的位置,如下
回到创建的项目位置,根据页面提示,配置账号信息,拉取代码.如下图
这样可以正常使用,下面开始了解练习。
Git的三种重要模式,分别是已提交、已修改和已暂存:
- 已提交(committed):表示数据文件已经顺利提交到Git数据库中。
- 已修改(modified):表示数据文件已经被修改,但未被保存到Git数据库中。
- 已暂存(staged):表示数据文件已经被修改,并会在下次提交时提交到Git数据库中。
修改文件,add 加入暂存区,commit 提交到git数据库,这样就不怕丢失版本.盗图一张如下。
1.数据提交
mkdir local
cd local
#将已存在目录初始化成git管理工作目录
git init
编辑文件
echo "Initialization Git repository" > readme.txt
添加指定文件到暂缓区
git add readme.txt
git commit -m "描述"
没修改后要先加入到暂缓区在提交,即 修改1 >git add > 修改2 > git add > commit 或者 git commit -a
git status 查看文件状态
比较当前文件和版本库的差别
git diff readme.txt
可以用 工作目录/.gitignore 文件来排除不需要提交的文件,这样就可以用 git add . 来添加目录下的所有改过的文件到暂缓区
//忽略所有以.a为后缀的文件。
*.a
//但是lib.a这个文件除外,依然会被提交。
!lib.a
//忽略build目录内的所有文件。
build/
//忽略build目录内以txt为后缀的文件。
build/*.txt
//指定忽略名字为git.c的文件。
git.c 如果确定文件修改,可以加 -a 参数跳过add 步骤git commit -a -m "Modified描2.移除文件
git add . 加入暂缓区
从暂缓区移除指定文件,工作目录中并未删除文件
git rm --cached 文件名
直接强制删除工作目录文件及缓存区文件
git rm -f 文件名 3.移动改名文件 把 文件名 a改成 b 查看状态会有rename操作
git mv a.txt b.txt
或者 直接把 a.txt 改成 c.txt 然后删除 a.txt 在添加add c.txt 到暂缓区 提交 3.历史记录 显示出每次提交的历史记录
git log
只查看最近2次历史
git log -2
-p参数 展示最近一次提交的数据差异
git log -p -1
--pretty参数,根据不同参数展示显示格式
git log --pretty=oneline 4.还原版本数据 git log --pretty=oneline
看到如下版本
fd3d78a6a0b76df7f5785623ecdb0ad9999f10ab 新版本
d19240ec7eb31a7abf20992416e6a509c84e703a 上版本
778c5bc7b96f2d7494396fd98b89bd5899a315d0 老版本
还原到以前老版本
git reset --hard 版本号
在当前版本下,查看未来版本记录
git reflog
在还原到相对当前版本的未来版本
git reset --hard 版本号 checkout 还原某个文件内容
当我们改动一个文件很多地方,发现更改错了,手动删除太麻烦,可以从暂缓区还原
git checkout -- 文件名
checkou规则是如果暂存区中有该文件,则直接从暂存区恢复,如果暂存区没有该文件,则将还原成最近一次文件提交时的快照 5.添加标签 给大版本打标签
git tag -a "v1.0" -m "标签描述" 版本号(默认是当前版本)
查看所有已有标签
git tag
查看指定标签内容
git show v.10(标签名)
删除标签
git tag -d v1.0 6.创建分支 创建分支demo
git branch demo
切换demo分支
git checkout demo
修改文件
echo "222" >> a.txt
git commit -a -m "分支提交"
查看分支列表
git branch
切换主分支
git checkout master
合并分支demo
git merge demo
查看内容确认后,删除demo分支
git branch -d demo 7.分支冲突解决 2个分支改动同一个文件
合并时不能快速自动合并,会提示冲突,需要手动解决
git checkout master
git merge demo 报告文件冲突
vi a.txt 查看冲突内容
Git用< <<<<<<,=======,>>>>>>>分割开了各个分支冲突的内容,我们需要手工的删除这些符号,并将内容改正确在提交。
修改冲突提交完成
查看合并线
git log --graph --pretty=oneline --abbrev-commit
放心删除分支demo
git branch -d demo 从远程git服务下载代码
git clone git@192.168.1.22:username/boot.git
修改完成后提交到远程
git push origin
参考 https://www.linuxprobe.com/chapter-21.html
git日常使用整理的更多相关文章
- git日常使用的常用命令总结
git日常使用的常用命令总结 git 是什么? Git是目前世界上最先进的分布式版本控制系统(没有之一). Git(读音为/gɪt/.)是一个开源的分布式版本控制系统,可以有效.高速的处理从很小到非常 ...
- (小组)Git 常用命令整理
Git 常用命令整理 取得Git仓库 初始化一个版本仓库 git init Clone远程版本库 git clone git@xbc.me:wordpress.git 添加远程版本库origin,语法 ...
- Git常见命令整理
Git常见命令整理 + 注释 git init # 初始化本地git仓库(创建新仓库) git config --global user.name "xxx" # 配置用户名 gi ...
- git 日常使用从入门到真香
目录 git 日常使用从入门到真香 一.Git简介 二.Git常用命令 三.git操作流程 四.报错处理 git 日常使用从入门到真香 一.Git简介 Git是一个开源的分布式版本控制系统,可以有效. ...
- 分布式版本管理git学习资料整理推荐
一.什么是git? Git is a free and open source distributed version control system designed to handle everyt ...
- Git学习资料整理
Git作为一个优秀的版本控制系统,是我们开发人员必须要学会使用的一个工具,接触git一年多以来,也看了不少相关资料,今天把我所看过的一些学习资源整理一下. Git入门当然首推廖雪峰廖老师的教程:Git ...
- Git日常须知
基本操作: git init 初始化环境 git add . 管理文件 git status 查看状态 git diff 文件名 查看修改内容 git commit -m '' 提交文件 git lo ...
- git——日常保险操作
git fetch --all //拉取远程最新代码 git reset --hard origin/master //如果本地无法更新,使用远程覆盖本地 git branch old_master ...
- 使用 git add -p 整理 patch
背景 当我们修改了代码准备提交时,本地的改动可能包含了不能提交的调试语句,还可能需要拆分成多个细粒度的 pactch. 本文将介绍如何使用 git add -p 来交互式选择代码片段,辅助整理出所需的 ...
随机推荐
- Managing uniquely tagged items using the internet
The invention teaches managing an item in the Internet of Things, wherein the system comprises: an i ...
- oracle 数组
定义一个长度为5的字符串数组 type str_array is varray(5) of varchar2(30); v_str_array str_array := expr_key_array( ...
- Qt自定义弹窗屏蔽父窗口(QWidget设置setWindowModality(Qt::ApplicationModal);以后再show)
写Qt程序时遇到一个问题: Qt自带的弹窗功能单一,所以须要自己用ui设计弹窗的内容,这样弹窗就和普通窗口一样了,但问题是这个弹窗显示后父窗口还是活动的.网上找了很久找到了解决办法: Qt::Wind ...
- Methods and Systems for Enhancing Hardware Transactions Using Hardware Transactions in Software Slow-Path
Hybrid transaction memory systems and accompanying methods. A transaction to be executed is received ...
- jquery 选择标题标签
<!DOCTYPE html><html><head><meta http-equiv="Content-Type" content=&q ...
- HTTP协议学习 - 9 Method Definitions
# 前言 官方文档简略翻译.9 不是代表第九篇,而是在 RFC2616 中是第九篇.重要加粗,龟速翻译. # Method 9.3 GET The GET method means retrieve ...
- WPF 流打印
原文:WPF 流打印 PrintDialog printDialog = new PrintDialog(); if (printDialog.ShowDialog() == true) { Syst ...
- Android 查看Apk签名方式V1和V2
Android 查看Apk签名方式V1和V2 java -jar apksigner.jar verify -v my.apk -- Verifies Verified using v1 scheme ...
- Delphi Android 将Google ZXing 整合(调用Jar文件)
前篇文章介绍了在delphi App(以下简称App)中可使用intent来调用Google ZXing 条码扫描器(以下简称zx),其各有优缺点,优点是我们不需关注zx本身的细节,只需调用其接口即可 ...
- C#从列表中取元素的某个字段组成新的列表
using System; using System.Collections.Generic; using System.Linq; namespace CSharpDemo { class Prog ...