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常用命令&&全过程演示 -> 正文阅读

[开发工具]【Git】git常用命令&&全过程演示

全过程(顺序执行一遍印象更深哦)

在这里插入图片描述

  • 初始化项目或拷贝项目

    • git init 当前目录初始化
    • git init <dir> 指定文件目录初始化
    • git clone <repo> 拷贝一个仓库项目
    • git clone <repo> <directory> 拷贝一个仓库项目到本地指定目录
  • 配置仓库

    • git config -e 针对当前仓库,-e等同于–edit,使用vim编辑
    • git config -e --global 针对系统上所有仓库
    • 提交代码前一定要配置用户名和邮箱
  • 工作区 ? \leftrightarrow ?暂存区

    • git status 查看更改信息
    • git diff 比较暂存区和工作区文件不同
    • git add . 添加到暂存区
    • git mv <file_a> <file_b> 移动或重命名暂存区文件
    • git rm --cached <file> 将暂存区文件删除,不影响本地
    • git checkout .git checkout -- <file>git restore --staged <file> 将暂存区文件替换工作区文件
  • 暂存区 ? \leftrightarrow ?本地仓库

    • git commit -m <msg> 将暂存区提交到本地仓库
    • git reset --soft <commit_id> 回退版本到暂存区,工作区不受影响
    • git log 查看提交信息
      • –oneline 简洁版本
      • –graph 图示表示
  • 工作区 ← \leftarrow 本地仓库

    • git reset --hard 恢复上一个状态,所有提交的文件不存在(慎用)
    • git checkout HEAD .git checkout HEAD <file> 用本地仓库的文件替换工作区和暂存区的文件
    • 上面两个的不同是:reset是恢复状态,git-commit的新提交丢失;checkout是替换文件,git-commit的新提交不会丢失
  • 本地仓库 ? \leftrightarrow ?远程仓库

    • git clone <git_url> 克隆到本地仓库
    • git fetch 从远程获取代码库(rebase到其它分支前必须步骤)
      • git merge 执行完fetch后需要从远程仓库提取数据并尝试合并到当前分支
      • git merge [alias]/[branch]
    • git push 上传远程代码并合并
    • git pull 下载远程代码并合并(等价于git fetch + git merge)
  • 工作区 ← \leftarrow 远程仓库

    • git pull 拉取到本地

git branch 分支管理

  • git branch <name> 创建分支
  • git branch -d <name> 删除分支
  • git checkout <name> 切换分支
  • git checkout -b <name> 创建新分支并切换到新分支
  • git merge 合并分支,解决完冲突后,使用git add表示冲突已经解决
  • 切换分支的时候,git会用该分支的最后提交的快照替换工作目录的内容,所以多个分支不需要多个目录

git remote 远程仓库

  • 先在github上创建一个仓库
  • git remote add origin git@xxx.git 推送到远程仓库
    • 当连接不同远程仓库的时候,比如github和gitee,就使用git remote add github xxxgit remote add gitee xxx来区分远程
  • git push -u [alias] [branch] 推送到alias远程仓库上的branch分支
  • git remote 查看远程仓库
  • git remote -v 查看远程仓库的具体信息

git tag 标签:重要阶段

  • git tag -a v1.0 创建一个v1.0标签, -a 表示带注解
  • git tag -a v1.0 <commit_id> 为某个提交追加标签
  • git log --decorate 查看标签

git log/blame 历史提交记录

  • git log 查看历史提交记录
    • –oneline 简洁版本
    • –author=xxx 指定用户
    • –reverse 逆向
    • –before={} --after={} 时间
  • git blame <file> 文件历史修改记录

git stash 保存更改

  • git stash 将当前工作区和暂存区文件进行保存
  • git stash apply <stash@{idx}> 应用保存的文件,这时暂存区的文件已经与工作区的文件合并
    • 默认应用的是stash@{0}
  • git stash pop 将stash@{0}的文件提交到工作区,并且将第0帧删除
  • git stash show -v <stash@{idx}> 查看保存的内容,-v指查看详细更改
    • 默认是stash@{0}

git reset & revert 版本回退

  • 现在在哪,HEAD就指向哪
  • git reset --hard HEAD~1 回退一个版本,重置暂存区和工作区
    • –hard 全部修改
    • –soft 指修改版本库,将撤销点之后的修改都回退到暂存区
  • git revert <commit_id> 撤销某次提交,会产生一次revert记录

git cherry-pick 摘取提交

  • git merge是合并分支,使用另一分支的所有提交;git cherry-pick 是摘取分支,选取自己需要的提交
  • git cherry-pick <commit_id> 将commit_id的提交应用到当前分支
  • git cherry-pick A..B 转移从A到B的多个提交(不包含A)
  • git cherry-pick A^..B 转移从A到B的多个提交(包含A)
  • 代码冲突
    • 解决代码冲突后,使用git add将文件加入暂存区,然后继续执行git cherry-pick --continue
    • git cherry-pick --abort 发生冲突后,放弃合并,回到之前的样子
    • git cherry-pick --quit 发生冲突后,放弃合并,不回到之前的样子

命令补全

  • 将git安装包的补全脚本复制到根目录:cp xxx/contrib/completion/git-completion.bash ~/.git-completion.bash
  • souce生效
  • 测试成功
  开发工具 最新文章
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-05-05 11:40:32  更:2022-05-05 11:43:51 
 
开发: 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 2:50:33-

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