IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> Git学习总结 -> 正文阅读

[开发工具]Git学习总结

基础概念

工作区working directort:一个git代码库编中的文件辑过后,任何git指令都没有输入时,所有的改变都存放于工作区
版本库-暂存区stage:当使用add指令后,工作区的修改就进入到暂存区了
版本库-分支:确定要生效的代码可以通过commit指令添加到各个指定的分支中,变更的代码就真正进入了代码库中,可以push到其他主机,或被pull或clone到其他主机了。
HEAD指针:指向了当前分支的最新一笔commit,HEAD^表示第二笔
commit:即是一个动作“提交”,也是一个名词“提交记录”

基础指令

git clone <git_repo_url>

git pull [--set-upstream origin <branch_name>] 从远程仓库拉取分支,--set-upstream参数拉取指定的远程分支

git push 把代码推到远程仓库

git add <file_name或file_directory> 把代码添加到暂存区

git commit 把代码提交到代码库

git rebase 重整代码分支,合并两个分支时,用rebase而不是merge则可以减少一个commit记录,使git记录变得更清晰明确。也可以使用rebase合并、摘取、放弃某些commit。

git merge 合并分支时使用,会在git log中增加一个commit记录

git status 查看代码库的状态,多少文件被修改:多少在工作区、多少在暂存区

git log 查看commit记录

回退撤销

从工作区清空修改记录,回到上一笔add/commit之后干净的工作区:git checkout .或git checkout -- <file_name>

从暂存区回到工作区:git reset HEAD <file>

从暂存区直接舍弃,不回到工作区:git reset --hard HEAD <file>,hard参数就是控制修改是否保留到工作区的,默认是--soft就是把修改保留到工作区,不丢弃,--hard则会丢弃修改

回退分支:git log查看,找到目标分支,粘贴commit的hash号,git reset [commit_hash]。同上如果想把这个commit之后的修改保留到工作区,则不加参数,如果不想要了,则加--hard参数

删除中间的commit:用rebase,git log先找到要删的commit的上一个commit的hash,然后git rebase -i [上一个commit hash],然后pick要保留的,drop要放弃的

目前vmsone的分支策略

分支:正式环境master,预发环境dev,其他人各自一个分支,或每个功能一个具体的feature分支。
合并:
- 先都从dev pull代码,然后在各自的本地checkout -b出新的分支,如git checkout -b feature1.
- 然后在feature1上开发,开发结束后,git add .,?git commit -s添加签名编辑memo,
- 之后切回dev分支,git pull --rebase拉取最新的dev代码,
- 再切回feature1分支,git rebase dev合并dev最新的代码到feature1分支,然后push,
- push成功后在coding上提MergeRequest请求合并到dev,触发代码评审,评审通过后合并到dev。master分支通过bamboo正式环境发布的流水线自动合并dev的代码

更新密码

git config –global credential.helper osxkeychain
之后push
然后就会让重新输入用户名和密码

rebase

git rebase -i [不进行处理的,要保留的最后一个commit的hash]

然后进入vim的编辑页面,列举了之后的所有commit

pick commit_hash1 commit_comment1

pick commit_hash2 commit_comment2

如果要删掉其中的部分commit,则直接把pick换成drop

pick commit_hash1 commit_comment1

drop commit_hash2 commit_comment2

如果要合并其中的一些commit,则保留一个pick,把其他pick换成squash

pick commit_hash1 commit_comment1

squash commit_hash2 commit_comment2

squash commit_hash3 commit_comment3

放弃本次rebase

git rebase --abort

出现冲突,冲突地方被标注在文件中了
1. 解决冲突
2. rebase ontinue:

git add .

git rebase --continue

git log

查看本周我的提交git log --pretty=format:"%h - %an, %ar : %s" --author='jiawanhua' --since="2020-11-23"

呈现形式

参数

含义

-p/--patch按补丁格式显示每个提交引入的差异。
--stat显示每次提交的文件修改统计信息。
--shortstat只显示 –stat 中最后的行数修改添加移除统计。
--name-only仅在提交信息后显示已修改的文件清单。
--name-status显示新增、修改、删除的文件清单。
--abbrev-commit仅显示 SHA-1 校验和所有 40 个字符中的前几个字符。
--relative-date使用较短的相对时间而不是完整格式显示日期(比如“2 weeks ago”)。
--graph在日志旁以 ASCII 图形显示分支与合并历史。
--pretty使用其他格式显示历史提交信息。可用的选项包括?onelineshortfullfuller?和?format(用来定义自己的格式)。
--oneline--pretty=oneline --abbrev-commit?合用的简写。

pretty-format

--pretty=format指定了log以单行的形式展示,每行中按照format的格式来展示

选项

说明

选项

说明

%H提交的完整哈希值
%h提交的简写哈希值
%T树的完整哈希值
%t树的简写哈希值
%P父提交的完整哈希值
%p父提交的简写哈希值
%an作者名字
%ae作者的电子邮件地址
%ad作者修订日期(可以用 –date=选项 来定制格式)
%ar作者修订日期,按多久以前的方式显示
%cn提交者的名字
%ce提交者的电子邮件地址
%cd提交日期
%cr提交日期(距今多长时间)
%s提交说明

筛选条件

选项

说明

-<n>仅显示最近的 n 条提交。
--since,?--after仅显示指定时间之后的提交。
--until,?--before仅显示指定时间之前的提交。
--author仅显示作者匹配指定字符串的提交。
--committer仅显示提交者匹配指定字符串的提交。
--grep仅显示提交说明中包含指定字符串的提交。
-S仅显示添加或删除内容匹配指定字符串的提交。
  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2022-12-25 11:29:10  更:2022-12-25 11:31:22 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 16:32:16-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码