【git指南--命令大全】

这篇具有很好参考价值的文章主要介绍了【git指南--命令大全】。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

我看好多文章命令都记录得比较发散不够全面,这里还是把我自己的笔记分享出来,方便查阅。

1. git config

作用域

  • git config --local
    • 只对某个仓库有效(需在仓库目录下操作)
  • git config --global
    • 对当前用户所有仓库有效
  • git config --system
    • 对系统用户所有登录用户有效(基本不用)

–list 显示当前所有配置

  • git config --local --list
  • git config --global --list
  • git config --system --list

配置

格式:git config --<作用域> [参数] [值]

  • 配置全局作用域的用户名
    • git config --global user.name ‘isymikasan’

cd ~/.ssh

查看本机公私钥

2. 初始化 git 仓库

1、把已有项目代码纳入 git 管理

  • $ cd 项目代码所在文件夹

  • $ git init

2、新建的项目直接用git 管理

  • $ cd 某个文件夹
  • $ git init you_project
    • 会在当前路径下创建和项目名称同名的文件夹
  • $ cd you_project

3、克隆仓库

  • git clone [ssh地址] [http地址]

3. git add

添加文件至暂存区

  • git add .
    • 添加工作目录全部变更至暂存区
  • git add -u
    • 添加工作目录全部修改至暂存区

4. git commit

提交暂存区文件至版本历史

  • git commit -m ‘提交注释’

5. git mv

变更暂存区文件名

  • git mv 源文件名 目标文件名
    • git mv readme readme.md

6. git log

  • git log --oneline
    • 一行简洁查看
  • git log --oneline --all
    • 一行简洁查看所有分支
  • git log --n*
    • git log —oneline --n4 :一行简洁查看最近4条log
    • git log --n4 :查看最近4条
  • git log --graph :图形化版本演进历史
  • git log 分支
    • git log master :查看master分支log

7. git branch

  • git branch

    • 列出所有本地分支
  • git branch -r

    • 列出所有远程分支
  • git branch -a

    • 列出所有本地分支和远程分支
  • git branch -av

    • 列出所有本地分支和远程分支 并加上commitid
  • git branch [branch-name]

    • 新建一个分支,但依然停留在当前分支
  • git checkout -b [branch]

    • 新建一个分支,并切换到该分支
  • git branch [branch] [commit]

    • 新建一个分支,指向指定commit
  • git branch -d [branch]

    • 删除安全的分支

8. git diff

查看文件差异

  • git diff
    • 工作区与暂存区的差别
    • git diff – [文件名]…
      • 某一文件工作区与暂存区的差别
  • git diff --cached
    • 比较暂存区跟HEAD指向分支的最新提交之间的区别
  • git diff [commit Id] [commit id2]
    • 比较两次提交的差异
    • git diff [commit Id] [commit id2] – [文件名]
      • 比较两次提交指定文件的差异
  • git diff [分支1] [分支2]
    • 比较两个分支不同差异
    • git diff [分支1] [分支2] – [文件名]
      • 比较两个不同分支指定文件差异

9. git reset

变更暂存区文件(回滚)

  • git reset HEAD
    • 恢复暂存区为 当前HEAD指向分支的最近一次提交(删除当前暂存区所有内容)
  • git reset HEAD – [文件名]
    • 恢复暂存区指定文件为 当前HEAD指向分支的最近一次提交的文件
  • git reset --hard [commit Id] (慎用!)
    • 清除指定提交前的所有提交,将所有文件恢复为指定提交时的内容

10. git checkout

变更工作区文件

  • git checkout – [文件名]
    • 将工作区文件恢复为暂存区文件
  • git checkout [分支名]
    • 切换分支为指定分支
  • git checkout -b [本地分支] [远程分支]
    • 基于远程分支在本地新建分支,并自动切换到该分支

11. git rm

删除文件

  • git rm [文件名]
    • 将工作区文件删除同时暂存区也删除

12. git stash

  • git stash
    • 将工作区的修改临时存放起来
  • git stash apply
    • 将stash存放的文件拷贝出来给当前工作区
  • git stash pop
    • 将stash里的文件移除到当前工作区

13. git ignore

  • 在仓库目录创建 .gitignore 文件并添加指定文件名或文件夹
    • vi .gitignore

各种语言项目中不需要被git管控的文件:https://github.com/github/gitignore

14. git remote

查看关联的远程仓库信息

  • git remote
    • 查看关联的远程仓库的名称
  • git remote -v
    • 查看关联的远程仓库的详细信息

添加远程仓库的关联

远程仓库的名称一般默认为 origin (远程仓库的名称推荐使用默认的名称 origin ),当然,你可以设置为其他的名称。

在 add 后➕ 自定义远程仓库名字

  • git remote add origin [远程仓库url]/[本地仓库路径]
    • git_url 为你的远程仓库的 url,可采用 http 协议或 ssh(git) 协议

删除远程仓库的关联

  • git remote remove [name]

修改远程仓库的关联

比如,之前你关联的远程仓库使用的协议是 http ,你想将关联的远程仓库的 url 改为 ssh 协议的。

  • git remote set-url [自定义远程仓库名/origin] [newurl]

15. git fetch

将远程仓库最新分支跟本地的远程仓库做一个同步

  • git fetch <远程主机名>
    • 这个命令将某个远程主机的更新全部取回本地
  • git fetch <远程主机名> <分支名>
    • 将指定远程分支更新取回本地

17. git merge

  • git merge 命令
    • branch为需要合并到当前分支的目标分支名称

18. git pull

  • git pull <远程主机名> <远程分支名>:<本地分支名>
    • 将远程主机的某个分支的更新取回,并与本地指定的分支合并
  • git pull <远程主机名> <远程分支名>
    • 远程分支与当前分支合并

19. 冲突

将要合并的两个分支都修改了同一个而文件的同一个部分内容,Git就无法确定应该使用哪个版本的内容。

当这种情况发生时,合并过程会停止在合并commit提交之前,以便给用户留下机会手动修复这些冲突。

step 1 : git status

列出哪些文件含有冲突并需要手动解决

step 2 : 冲突显示

当Git在合并过程中碰到了冲突,它会编辑受影响的文件中的相关内容,并添加视觉标记用以展示冲突中双方在此部分的不同内容

视觉标记为:<<<<<<<,=======,>>>>>>>

找到冲突发生的具体位置,例如

here is some content not affected by the conflict
<<<<<<< main
this is conflicted text from main
=======
this is conflicted text from feature branch
>>>>>>> feature branch;
  • ====== 标记之前的内容是 接收合并的分支(当前分支)
  • ====== 标记之后的内容来 要合并的分支(拉取下来要合并的分支)

完成了冲突的修复并准备好继续进行合并(删除不想要的和git添加的标识符)

step 3 : git add

只需要执行git add命令把已经解决好冲突的文件添加暂存区,告诉Git这些冲突已经解决完毕

step 4 : git commit

完成合并commit

20 .git tag

  • git tag [标签]
    • 打标签命令,默认为HEAD
  • git tag
    • 显示所有标签
  • git tag [标签] [版本号]
    • 给某个commit版本添加标签
  • git show [标签]
    • 显示某个标签的详细信息

21. git push

  • git push [远程主机名] [远程分支名]
    • 将当前分支推送到远程分支

向远端push可能失败的原因

【git指南--命令大全】

  • 上图本地分支 feature/add_git_command 是基于远程分支 feature/add_git_command 创建出来的,此时他们的hash值都是 13d4cf1 说明本地分支与远程分支是一致的

  • 当我们在修改文件时 ,其他用户向该远程分支提交并推送了

  • 此时修改文件后 出现 fast-forwards【git指南--命令大全】

  • git branch -av 检查本地远程分支与 远程仓库该分支的hash值

    • 本地【git指南--命令大全】

    • 远程仓库

      【git指南--命令大全】

这是因为git存储底层每一次提交都会生成一次快照树

  • 此时将最新的远程仓库同步到本地远程分支git fetch(**git存储的文件是根据内容进行判断是否是同一个文件的,因此同步远程仓库可以让本地的远程分支更远程仓库的hash值保持一致 **)

    • 再次查看:本地远程分支跟远程仓库保持一致

      【git指南--命令大全】

  • 通过 git merge 将本地远程分支更新到本地分支 使其同源

    • 因为本地修改了文件并commit了,所以在同源后会产生新的内容从而产生新的 commit树(此时进行push就没有问题了)
      • 【git指南--命令大全】

22. git rerere

  • 记录解决的冲突方式
  • 相同冲突只要执行一次

23. git 传输协议

【git指南--命令大全】

  • 哑协议 传输进度不可见,速度比智能协议慢

示例:

  • 将本地 git_learning文件下的git仓库备份到本地 git_backup文件下

    • –bare :不带工作区的裸仓库
    git_learning路径:/Users/mikasa/Documents/编程/git_learning
    
    git clone --bare file:///路径/.git [仓库名.git]
    
    git clone --bare file:Users/mikasa/Documents/编程/git_learning/.git backup.git
    
    

    【git指南--命令大全】

24. 流程

【git指南--命令大全】

25. 分离头指针 detached HEAD

HEAD翻译为“头部”,在Git中我们一般称为“头指针”,主要表示当前工作区基于哪个版本进行开发,也可以理解为当前开发所在分支的最后一次提交

我们一般切换分支都是使用已经创建的分支,例如git checkout master。另外还有一种操作,就是基于某次提交记录(git checkout commit版本号):

【git指南--命令大全】

这种操作切换的工作区没有在任何一个分支上面,与任何一个都没有关系。如果后续没有进行保存,在这个上面做的修改会被 git 彻底丢弃。

26. commit 、tree、blob关系

【git指南--命令大全】

一个 commit 对象包含一棵树

commit 树 存放了所有文件夹以及文件的快照,其中一个文件夹也是一棵树

git cat-file 命令显示版本库对象的内容、类型及大小信息。

  • -t 显示对象的类型。

  • -s 显示对象的大小。

  • -e 如果对象存在且有效,命令结束状态返回值为 0 。

  • -p. 根据对象的类型,以优雅的方式显式对象内容。

例:

【git指南--命令大全】

共有 4 个object对象:

  • Commit 对象
    • Tree对象 (包含所有文件夹和文件的树)
      • tree 对象(doc文件夹的树)
        • blob对象 (文件)

github

高级搜索

面板:https://github.com/search/advanced

参数:文章来源地址https://www.toymoban.com/news/detail-482169.html

  • in:redme
  • stars:>1000
  • language:java
  • forks:>1000
  • filename:gitlab-ci.yml (搜索仓库中文件名包含 xx的)

到了这里,关于【git指南--命令大全】的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • git 常用命令大全(附命令注释)

    目录 1 安装 2 初始化配置 3 初始化仓库  4 C(新增)  5 U(修改) 7 R(查询) 8 分支 8.1 git分支本质 8.3 git分支的注意点 8.4 后悔药 8.5 reset三部曲 8.6 路径reset 8.7 checkout深入理解 9 git远程协作开发 9.1 三个必须懂得概念 9.2 远程协作的基本流程 9.3 做跟踪 9.4 推送  9.5 拉取   9.6 pull req

    2024年02月07日
    浏览(29)
  • git 命令大全(常用)

    跟上我的不发一起来! git init: 初始化一个新的 Git 仓库。 git clone : 克隆一个远程 Git 仓库到本地。 git status: 显示工作目录和暂存区的状态。 git add : 将指定文件添加到暂存区。 git add .: 将所有修改过的文件添加到暂存区。 git commit -m \\\"message\\\": 提交暂存区的更改到本地仓库,并

    2024年04月23日
    浏览(24)
  • git常用命令大全

    Git常用命令大全:Git命令的基本用法 Git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。下面是总结一下git命令,建议收藏和记忆。 git clone 克隆代码 git log 查看日志 git tag 查看标签 git branch 查看分支 git branch -a 查看远程分支 git pul

    2024年02月02日
    浏览(25)
  • Git 常用命令大全

    一、 Git 常用命令速查 git branch 查看本地所有分支 git status 查看当前状态 git commit 提交 git branch -a 查看所有的分支 git branch -r 查看远程所有分支 git commit -am \\\"init\\\" 提交并且加注释 git remote add origin git@192.168.1.119:ndshow git push origin master 将文件给推到服务器上 git remote show origin 显示

    2024年02月05日
    浏览(28)
  • Git命令大全

    1、初始化本地仓库 意思是可选的,如果不指定,将使用当前目录。 2.克隆一个远程仓库 3.添加文件到暂存区 要添加当前目录中的所有文件,请使用 . 代替,代码如下: 4.提交更改 如果要添加对跟踪文件所做的所有更改并提交。 5.从暂存区删除一个文件 6.移动或重命名文件

    2024年02月05日
    浏览(29)
  • Python Pip 命令大全及其技术应用指南【第119篇—Pip 命令】

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。【点击进入巨牛的人工智能学习网站】。 Python 的包管理工具 Pip 是开发者们在构建、分享和安装 Python 包的重要工具之一。本文将深入介绍 Pip 命令的各种用法,旨在帮助开发者更好

    2024年03月25日
    浏览(28)
  • GIT常用命令大全——赶紧收藏

    史上最全的GIT常用命令都在这里啦! 全是干货!建议收藏起来,反复观看! 一、git安装后-指定名称和邮箱 二、创建版本库 * 三、把文件添加add和提交commit到版本库 注意:必须在当前版本库和当前目录下 * 四、版本控制 五、删除文件 * 六、远程仓库 * 七、多人协作 八、标签

    2024年02月11日
    浏览(31)
  • Git常用命令及方法大全

    下面是我整理的常用 Git 命令清单。几个专用名词的译名如下。 Workspace:工作区 Index / Stage:暂存区 Repository:仓库区(或本地仓库) Remote:远程仓库 本地分支关联远程:git branch --set-upstream-to=origin/beta beta # 在当前目录新建一个Git代码库 $ git init # 新建一个目录,将其初始化

    2024年02月05日
    浏览(29)
  • git的安装与使用教程(附有git命令大全)

    在日常工作中git少不了,所以本篇文章教大家如何使用git,便于日后工作与学习,本篇文主要基于 gitee 平台编写。 什么是 Gitee? Gitee 提供免费的 Git 仓库,还集成了代码质量检测、项目演示等功能。对于团队协作开发,Gitee 还提供了项目管理、代码托管、文档管理的服务,5 人

    2024年02月01日
    浏览(55)
  • Git 命令大全「全面且实用,值得收藏」

    用了这么久的 git 工具,中途也使用过 SourceTree ,但是最后发现,还是代码香啊! 虽然之前也写过一篇学习笔记「Git教程学习笔记和填坑总结 以及 SourceTree 工具的使用」,但是感觉那篇还是笔记冗余,看起来不是很明确,所以,整理这篇命令大全,可以更好的在工作中查阅相

    2024年02月14日
    浏览(28)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包