git 学习的流水log

2024-09-07 06:52
文章标签 学习 git log 流水

本文主要是介绍git 学习的流水log,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

git命令联系

配置以及修改全局user信息

git config --global user.name 'you_name'
git config --global user.email 'you_email@qq.com'

现有设备中的所有配置
git config --list

现有设备中的所有配置
git config --list --local/--global/--system  优先级为 >


把已有项目纳入git管理
cd project
git init

新建项目
新建文件夹 www
cd www
git init you_project
cd you_project

添加文件需要两步
添加到缓存区
git add css/ index.js
提交文件
git commit git.text -m "本次提交说明内容"

git status 列出仓库的状态,未管理的文件

git add -u 对所有修改的文件做添加到暂存区
git status 会列出所有状态的文件
git commit -m"修改git.text文件"

git 修改文件名
mv index.js index.ts
git add index.ts
git rm index.js
git git status
git reset --hard  清除暂存区里面的数据,不会破坏版本历史

git修改文件名
git mv index.js index.ts
git status
git commit -m "重名名index.js为index.ts"


git log --oneline  简洁的查看
git log -n2 --oneline  查看最近的两个版本

git log --all --oneline 查看所有分支
$ git log --all --oneline --graph 图表方式查看所有分支


git commit -am"编辑git.text文件"  工作区的文件直接创建到版本库

.get目录的讲解
.get/HEAD 指向当前的分支  编辑改文件类似于git checkout master 切换分支的作用
HEAD 引用指向refs refs里面包括了(tags 里程碑标记主要标记位置  heads  分支  独立的空间,比如两个可以独立工作,然后合并到一个系统)

git checkout master 切换到主分支

cat ./.git/config  编辑改文件类似命令git config命令设置的作用
如果设置了local的用户,则会显示

git cat-file -t xxx 查看xxx的类型
git cat-file -p xxx 查看xxx的内容

git branch -av 查看所有分支
git checkout master 切换分支到master

git checkout -b fix_text fix_xxx 切换分支到fix_text

git branch -D xxx  删除分支xxx
git branch -av

git commit --amend 修改当前分支最近的commit的message
git log -l

git branch -av
git rebase -i 合并多个commite记录
git log --graph

git rebase -i  xxxx xxxx 合并多个不连续的commit

git diff --cached 暂存区与HEAD的差距
git commit -m"确认没问题提交"

git diff 工作区与暂存区的差异
git diff -- index.html  style.cxx 查看index.html style.cxx 差异

git status
git reset HEAD 暂存区恢复和HEAD一样(指向当前分支最新的commit)


git checkout -- index.html 工作区的文件恢复到暂存区

git reset HEAD -- style.css 取消部分暂存区文件的更改

git reset --head xxxx 消除最近几次的commit提交(工作、暂存区、HEAD恢复到某次提交)

git diff temp master查看两个分支中的差异
git diff temp master -- index.html 查看两个分支中index.html的差异

删除文件的方法一
rm index.html 
git rm index.html
git status 

git reset --hard HEAD
git status
git rm index.html  删除文件

git status
git stash save "20200731 modify git.txt"
git stash list 
git stash apply 之前存放的内容放到工作区 
git reset --hard HEAD

vi .gitignore 添加不受git控制的文件

git clone --bare /user/xxx 无进度条
git clone --bare file:///user/xxx  有进度条

git remote -v 查看所有远端
git remote add zhineng file:///user/xxx/zhineng.git 本地同步到远端
git push --set-upstream zhineng siyecao

ssh-keygen -t rsa -b 4096 -c "11@qq.com"


git remote -v 查看所有远程仓库配置

git remote add github git@github.com:git2000/git_learning.git 新增一个远端的站点
git remote -v

git push github --all
先拉后推
gitk -all
git pull (先拉、合并,两步合并了)
git fetch github master
git branch -v
git branch -va 远端的也会列出
git checkout master
git merge github/master 
git merge --allow-unrelated-histories github/master
gitk --all
git push github master


git commit -am"编辑git.text文件"  工作区的文件直接创建到版本库
git branch -v 查看分支信息
git branch -al 查看所有分支信息
git checkout -b temp  b42031bbd85950 基于主分支创建的分支
git commit -am"在子分支编辑git.text文件"
git log 查看当前分支的历史
git log --oneline 查看当前分支的历史
git log --all 查看所有分支的版本历史
git log --all --oneline 查看所有分支的版本历史
git log --all --graph 查看所有分支的版本历史 图形化展示
git log --all -n4 --graph 查看所有分支的版本历史 图形化展
gitk  图形化的工具

git checkout master 切换分支到master上面

$ ssh-keygen -t rsa -b 4096 -C "your_email@example.com"   创建ssh秘钥,默认即可

git remote add githubgit git@github.com:lengyue1084/git_learning.git 添加远端仓库


git push remote githubgit --all

git pull 远端拉下来并且执行合并

git fetch githubgit master

gitk --all

git checkout master 切换主分支

手动合并冲突
git branch -v 查看本地有多少分支
git branch -va 列出所有本地与远端的分支

git checkout master 切换到本地master

git merge githubgit/master 合并本地与远端master 首次合并没有父子关系会出错

git merge -h 查看与历史相关的命令

git merger --allow-unrelated-histories githubgit/master 允许合并两个不相干的分支 弹出框默认:wq即可


git push githubgit master 把本地master push 到远端githubgit上
gitk --all

git commit -am"添加内容"
git push githubgit master

git commit -am"删除文件index.ts"
git push githubgit master

//另一个账号如果想推倒远端需要添加远端仓库
git remote add githubgit git@github.com:lengyue1084/git_learning.git

//把项目clone到本地的git_learning_02文件夹,默认为git_learning的文件夹
git clone git@github.com:lengyue1084/git_learning.git git_learning_02 


clear 清屏
git config --add --local user.name "git02"
git config --add --local user.emal "git02@163.com"
git config --local -l 查看本地仓库的信息

vi .git/config 可以直接修改用户信息
git branch -av

//依远端add_git_commands分支检出并创建本地分支
git checkout -b feature/add_git_commands origin/feature/add_git_commands
git branch -v

vi readme
git add -u
git status
git commit -m'Add commands description in readme'
git push ///此时可以省略

cd git_learning
git config --local -l
git branch -av
git fetch githubgit  会拉区新建分支add_git_commands
git branch -av
git checkout -b feature/add_git_commands github/feature/add_git_commands //第一个本地分支名 第二个远端分支名
git branch -av
vi index.html
git add -u
git commit -m"修改inex.html"

//第二个用户此时在修改文件
vi readem.md
git commit -am "fix readme"
git push
git status
git rm xxx

//第一个用户再push
git push githubgit 此时会报错

git fetch githubgit 拉区远端分支
git branch -av
git merge githubgit/feature/add_git_commands 本地跟远端年合并 此时远端已经修改一个,本地修改一个 此时修改文件不同 合并顺利
git push githubgit 此时会顺利进行

//不同人修改了同一个文件的不同区域
git pull githubgit 修改本地之前最好先执行pull 
git branch -av
git fetch
git branch -av
git merge githubgti 或者 git merge 71abe04
弹出merge messge 可以:wq默认设置
git push githubgit
git branch -av
ls -al
cat git.txt 
gtik -al

//不同人修改了同一个文件的相同区域
git pull githubgit
修改文件
git commit -ma"修改第一行"
git push githubgit 会感知与远端的不同  修改同一块地方,晚提交的人会遇到这个问题
git merge githubgit 会提示问题
git pull 远端与本地merge  会显示冲突问题  
vi git.txt
修改不同人内容,此时需要人工介入,git无法决定
git status 查看是否有没有合并的问题
如果已经merge完了执行
git commit -am"resolved conflict by hand with 4 git commands" 本地生成了一个新的commit
git stauts
git push githubgit

同时更改了文件名和文件内容如何处理
git pull 更新本地版本
git mv index.html index.htm
git status
git commit -am"修改index后缀"
git push githubgit
第二个同学 基于index.html 修改了内容
git push githubgit 会弹出消息弹框 :wq默认即可 合把index.html修改index.htm,文件名字修改了
ls -al 文件名字已经修改成了index.htm git会智能处理


多人修改同一个文件的文件名为不同的文件名
git pull
git mv index.htm index1.htm
git commit -am"修改文件名字index1.htm"
git push githubgit
第二个人
git pull
git mv index.htm index2.htm
git commit -am"修改文件名字index2.htm"
git push githubgit 会报错
git pull
ls -al 会出现index1.htm index2.htm
diff index1.htm index2.htm 内容一样只是名字不同
git status 显示修改名字信息  需要两个人协商文件名,git 不做处理,需要人工介入
git rm index.htm
git add index1.htm 
git status
git rm index2.htm
git status
ls -al
git commit -am"已经处理完文件名冲突,decide to mv index.htm to index1.htm"
gitk -al

慎用命令
checkout reset

git push -h 看push相关参数

强制禁止 
git push -f 禁用  

git log --online 
git reset --hard 934ac 本地重置到934ac分支
git push -f origin feature/add_git_commands 强制更新远端分支,会去除很多已经变成的commit记录

禁止想集成分支执行变更历史的操作 不要更改历史的commit message
公众的分支历史禁止变更 因为其他人可能已经基于统一的commit做了工作导致提交失败
在集成分支只能向前进
不要修改合成分支的提价历史即不要rebase“变基”合成分支

远程仓库改了名字
修改远程仓库地址
git remote set-url githubgit git@github.com:lengyue1084/learning.git
或者先删除再添加
git remote rm origin
git remote add origin githubgit git@github.com:lengyue1084/learning.git


//查看git日志
git log --shortstat
//会展示
2 files changed, 3 insertions(+), 11 deletions(-)

这篇关于git 学习的流水log的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1144370

相关文章

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

【前端学习】AntV G6-08 深入图形与图形分组、自定义节点、节点动画(下)

【课程链接】 AntV G6:深入图形与图形分组、自定义节点、节点动画(下)_哔哩哔哩_bilibili 本章十吾老师讲解了一个复杂的自定义节点中,应该怎样去计算和绘制图形,如何给一个图形制作不间断的动画,以及在鼠标事件之后产生动画。(有点难,需要好好理解) <!DOCTYPE html><html><head><meta charset="UTF-8"><title>06

学习hash总结

2014/1/29/   最近刚开始学hash,名字很陌生,但是hash的思想却很熟悉,以前早就做过此类的题,但是不知道这就是hash思想而已,说白了hash就是一个映射,往往灵活利用数组的下标来实现算法,hash的作用:1、判重;2、统计次数;

内核启动时减少log的方式

内核引导选项 内核引导选项大体上可以分为两类:一类与设备无关、另一类与设备有关。与设备有关的引导选项多如牛毛,需要你自己阅读内核中的相应驱动程序源码以获取其能够接受的引导选项。比如,如果你想知道可以向 AHA1542 SCSI 驱动程序传递哪些引导选项,那么就查看 drivers/scsi/aha1542.c 文件,一般在前面 100 行注释里就可以找到所接受的引导选项说明。大多数选项是通过"_

零基础学习Redis(10) -- zset类型命令使用

zset是有序集合,内部除了存储元素外,还会存储一个score,存储在zset中的元素会按照score的大小升序排列,不同元素的score可以重复,score相同的元素会按照元素的字典序排列。 1. zset常用命令 1.1 zadd  zadd key [NX | XX] [GT | LT]   [CH] [INCR] score member [score member ...]

【机器学习】高斯过程的基本概念和应用领域以及在python中的实例

引言 高斯过程(Gaussian Process,简称GP)是一种概率模型,用于描述一组随机变量的联合概率分布,其中任何一个有限维度的子集都具有高斯分布 文章目录 引言一、高斯过程1.1 基本定义1.1.1 随机过程1.1.2 高斯分布 1.2 高斯过程的特性1.2.1 联合高斯性1.2.2 均值函数1.2.3 协方差函数(或核函数) 1.3 核函数1.4 高斯过程回归(Gauss

git使用的说明总结

Git使用说明 下载安装(下载地址) macOS: Git - Downloading macOS Windows: Git - Downloading Windows Linux/Unix: Git (git-scm.com) 创建新仓库 本地创建新仓库:创建新文件夹,进入文件夹目录,执行指令 git init ,用以创建新的git 克隆仓库 执行指令用以创建一个本地仓库的

【学习笔记】 陈强-机器学习-Python-Ch15 人工神经网络(1)sklearn

系列文章目录 监督学习:参数方法 【学习笔记】 陈强-机器学习-Python-Ch4 线性回归 【学习笔记】 陈强-机器学习-Python-Ch5 逻辑回归 【课后题练习】 陈强-机器学习-Python-Ch5 逻辑回归(SAheart.csv) 【学习笔记】 陈强-机器学习-Python-Ch6 多项逻辑回归 【学习笔记 及 课后题练习】 陈强-机器学习-Python-Ch7 判别分析 【学

系统架构师考试学习笔记第三篇——架构设计高级知识(20)通信系统架构设计理论与实践

本章知识考点:         第20课时主要学习通信系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分),而在历年考试中,案例题对该部分内容的考查并不多,虽在综合知识选择题目中经常考查,但分值也不高。本课时内容侧重于对知识点的记忆和理解,按照以往的出题规律,通信系统架构设计基础知识点多来源于教材内的基础网络设备、网络架构和教材外最新时事热点技术。本课时知识