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 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> 《ProGit》读后感:我的git理解和常用Git命令 -> 正文阅读

[开发工具]《ProGit》读后感:我的git理解和常用Git命令

git 中文乱码

输入:$env:LESSCHARSET=‘utf-8’
ide中输入:LESSCHARSET=utf-8

git 特点:

本地存有所有的记录快照,而不是比较差异。而且一般只添加数据。
所以:1.命令运行都比较快
2.通过任意本地快照都可以恢复git服务器数据
3.本地的任何操作只要提交到了本地快照中,基本没有无法恢复的情况

git 的三种状态(commited\modified\stage):

执行git status 就可以看到,在我的理解中文件应该还有两种状态
【modified】 - Changes not staged for commit 本地已修改,但还没有保存到数据库中
【stage】 - Changes to be committed: 本地修改后执行了 git add等,表示暂存
【commited】 - 本地已提交到了本地数据库中,可以执行git log --stat -1 查看文件 执行 git log -p -1 查看详情
【Untracked】 - Untracked files 未被跟踪的,执行git status 可以看到
【Ignore】 - 被排除的,还没有验证这个是否属于Untracked

git config 的三种级别

(local 【仓库配置,项目的.git文件种】> global【只针对当前用户】 > system【每一个用户以及每一个仓库的配置】) 优先级从左到右

git 命令


git help
    git help <verb>
    git <verb> help
    man git-<verb>

git init 仓库初始化
git clone <url> 克隆
git status 查看仓库状态
    git status --short 或者 git status -s 得到一种更为紧密的数除
git add <path> 跟踪新文件

查看已暂存和未暂存的区别 git status / git diff
查看已暂存即将提交的区别 git diff --staged 或 git diff --cached

git commit 提交更新
    git commit -m "xxx" 提交
    git commit -a 跳过暂存区直接提交(不建议用)
    git commit -m "yyy" --amend 用本次更新覆盖上次的更新,很有用,可以用来改提交文字,增加提交文件,并且push之后只有一条commit记录,很整洁

git rm 移除文件
    git rm <path> 从跟踪列表和本地同时移除该文件
    git rm -f 强制删除,从跟踪列表删除,同时删除暂存和modified的文件
    git rm --cached 从跟踪列表删除 但保留本地文件

git mv 移动或者重命名文件,重命名时注意大小写问题,本地仓库和服务器大小写敏感规则不一样的时候,很难搞

git log 查看提交历史,建议在各种命令后面带上-1,-2等,只查看最近1、2条
    git log -p 或 git log --patch 以补丁方式输出
    git log --stat -1 查看最近1次的提交,以统计的模式查看
    git log --pretty 有以下几种格式oneline/short/full/fuller/format 例子git log --pretty=online

修改git add的文件
    git commit --amend
    git reset HEAD <filePath> 取消暂存file文件 会把staged的文件变成Changes not staged for commit

撤销对文件的修改(不可恢复)
    git checkout <path>

git remote 查看远程仓库
    git remote -v
    本地分支和远程分支  本地分支:master 远程分支 origin/master 远程分支也是在本地的 只要更新他 他的HEAD就不会变

git fetch origin 更新远程分支

git push 推送
    git push origin master


git tag 打标签

git 别名
    例子: git config --global alias.last 'log -1 HEAD'
    使用 git last

git 提交
git 是面向对象的,每一次提交会向数据库中保存这些内容
(1) Blob 提交的文件的快照A
(2)Tree 一个树对象(git中把每一个子目录的校验和保存为对象),这个树对象中包含指向提交的文件的快照的指针
(3)Comit Object提交对象, 包含作者、邮箱、树对象,父提交(上一次提交的指针)

每一个分支都指向最新的一次提交,并且自动向前移动

git branch 创建新分支 - 实际上就是在当前所在对象上创建了一个指针HEAD,指针HEAD指向本地的最新的分支
可以用 git log --oneline --decorate
git branch -b <new name> 在当前对象创建一个新分支并切换过去
git branch -d <branch name> 删除分支
git branch -v 查看所有分支 和 最后一次提交
git branch --merged 可以查看已经合并到当前分支的分支
git branch --no-merged 这个参数后可以增加参数 当不输入时代表当前分支
例如:查看未合并到master分支的分支有哪些呢? git branch --no-merged master

跟踪分支
在跟踪分支上执行git pull git会自动合并 我理解的跟踪分支就是跟远程的分支关联起来的分支
git clone时会自动创建跟踪分支
例子git checkout -b dd5401 origin/iteration_54_from_master_01 创建dd5402分支 并且跟踪远程分支


git checkout <分支名> 切换分支,建议先pull再拉取分支,执行了checkout之后,HEAD就指向了新分支

git merge
 fast-forward 快进 如果这个分支的指针向前移动就可以进入到下一个分支,那么就进行快进,不会有冲突
 git merge xxx 合并xxx的分支到当前分支
 如果遇到冲突 比如 主分支master 在某次提交A 后分别有两个分支 branch1 和 branch2 ,当在branch1执行 git merge branch2的时候出现冲突
 那么git会使用branch1和branch2的快照的共同祖先A, 这三个快照做一个简单的三方合并 合并后的分支有两个parent 一个指向branch1 一个指向branch2
 在解决冲突时,可以用git status 查看冲突文件,当退出合并工具git会询问是否解决冲突,如果解决了会自动执行git add 把合并后的文件放到暂存区
  开发工具 最新文章
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-02-28 15:48:17  更:2022-02-28 15:49:55 
 
开发: 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/26 6:35:48-

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