git常用命令,参照廖雪峰老师的git教程

祭孑 祭孑     2022-10-09     595

关键词:

git的常用命令

写在开篇: 作为一个菜鸟,我想学习的最好的方式就是边学边记笔记,这里只是本人写的自己通过学习了廖雪峰老师的git教程之后自己做的笔记,个人理解,可能有失偏颇,如想学习更专业更权威的git知识,请移步廖雪峰老师的官网

一.创建git仓库

  1.git init  在本地创建一个空的仓库

  2.在远程创建一个项目仓库,gitHub内操作

    git remote add origin *****

  通过这两个步骤,就将本地仓库与远程仓库关联起来,然后在本地coding,提交代码到远程。也可以通过git remote -v 命令查看是否有fecth和push的权限

   

二.通过克隆的方式在本地创建仓库

      先在本地建立一个空的文件夹,在远程找到克隆的地址,有SSH和https两种协议。如果有ssh钥匙,可以通过ssh协议,如果没有配置就需要用https协议

    通过git clone ****(远程git地址) 在本地复制一份代码,这样就获得了一个已经以远程关联好了的本地仓库 

三、工作区、暂存区、版本库(图片来自廖雪峰官网Git教程

  

三.必用的三个命令

  git add *** 将本地仓库的内容提交到暂存区

  git commit -m“对本次提交的说明”  将暂存区的内容提交到版本库

  git push  将版本库里的内容提交到远程

       以上的命令是我们提交代码的过程中绝对不可缺少的

四、辅助命令

  git  status  查看状态,可以通过此命令查看哪写内容有修改,哪些内容是新创建的,是在暂存区,还是再工作区,通过这个命令可以了解的很清楚

  

  git diff ***  查看不同的地方,即可以通过此命令查看具体修改了***文件哪里

  

  git log 查看历史提交记录

  

  通过这个命令,可以清楚的看到提交的次数以及每次提交的commit_id,上图的内容很多,如果需要简单一些的我们可以通过git log --pretty=oneline查看提交日志

  

  这两个命令我们都可以看到commit_id,知道看commit_id我们就可以进行版本回退了。

  当前版本是HEAD

  git reset --hard HEAD^ 回退到上一个版本

  git reset --hard HEAD^^ 回退到上上一个版本

  ......

  如果是回退到前100个版本,则git reset --hard HEAD~100

  这样的版本回退看着有些麻烦,我们还需要数一下这个前几个版本,现在有一种更简单的,我们可以看到每次提交都会有一个commit_id,我们也可以根据这个进行版本回退

  git reset --hard (commit_id)

  我们可以个根据每次的提交说明,回到我们需要回退的版本;’如果我们把git的窗口关闭了,找不到版本号了的时候,还可以通过git relog 来查看提交的id

  注:如果版本回退,被回退的版本成为最新的,它之后的修改已经查看不到了,如果想回到未回退之前的版本,可以找到最后一个提交的commit_id,通过git reset --hard commit_id返回到初始版本

五、撤销修改

  撤销修改分成3中情况:

    1.只在工作区进行了修改,没有添加到暂存区(尚未执行git add **命令)

    2.添加到了暂存区,还没有提交到版本库(执行了git add **,还没有执行git commit -m"modified something")

    3.提交到了版本库,还没有推动到远程 (执行了git commit,没有执行git  push)

针对这三种情况,我们一 一来解决

情况1有两种方法:

  ①直接在工作区进行修

  ②当我们把某个文件修改了之后我们可以用git status命令查看

  

  可以看到git checkout -- <file>命令可以把本次修改撤销

情况2的撤销方法:

   当我们git add **之后,发现有问题,那我们还是可以通过git status来查看

  

  我们可以看到这里的命令git reset HEAD <file>,执行这个命令,就回到了情况1,也就是没有git add ** 之前,参照情况一之中的②方法撤销本次修改

情况3参照版本会退,git reset --hard HEAD^即可(必须是没有推送到远程的,即没有执行git push的)

六.删除文件

  通常情况下,我们删除文件的最直接的方式就是在工作区直接将文件删除,当然我们还可以通过rm <file>命令来删除文件

  但是如果这个文件之前已经提交到版本库了,我们在工作区直接删除,会版本库和工作区不一致的情况,这时候我们就要确定这个文件是确定要删除了,还是说不小心误删仍需要保留的

  如果是确定以及肯定要删除,则可执行git rm <file> 并执行git commit -m" ",这样就讲这个文件从版本库里也删除了

  但是如果是误删,这时候工作区已经没有了,但是不用担心,版本库里仍然有这个文件,我们可以通过执行git checkout -- <file>将误删的文件恢复

注:git checkout 其实是用版本库(版本库里包括这暂存区)的版本替换工作区的版本,无论是工作区的修改或者删除,都可以还原

*****************************我是重点分割线**********************

七.分支管理

  1.查看分支: git branch

  2.创建分支: git branch <branch_name>

  3.切换分支: git checkout <branch_name>

  4.创建+切换分支:git checkout -b <branch_name>

  5.合并分支: git  merge <branch_name> 基于当前分支,将<branch_name>上的内容合并到当前分支

  6.删除分支: git  checkout -d <branch_name>

     删除一个没有被合并的分支: git checkout -D <branch_name>

对于git merge的说明:

  git merge命令用于合并指定分支到当前分支

  

这里可以看到Fast-forward信息,说明本次合并是“快速合并”,也就是直接把master指向f分支的当前提交,所以合并速度很快。我们可以通过git log --graph命令可以查看分支合并图

  

Fast forward模式下,删除分支后,会丢掉分支的信息,但是要强禁用Fast  forward模式,Git就会在merge时生成一个新的commit,这样,从历史分支上就可以看出分支信息

git merge --no-ff <branch_dev>

这里需要注意的是,通过这种方式合并之后,界面会锁死,出现Please enter a commit message to explain why this merge is necessary...

退出的方法是:①按键盘上的I键 ②按键盘上的Esc键③输入:wq,按enter键退出(详情参考链接)

这是我们可以通过git log --graph再此查看分支合并图,发现和刚才不一样了

  

  7.隐藏分支:git stash <branch_name>

  开发实况: 在开发的过程中,突然发现有一个bug需要修复,一般来时我们会重新建立一个分支来修复bug,但是目前分支的上新增的内容还不能提交,这个时候我们可以将当前分支工作区里的内容添加到暂存区(git add <file>这里是必须的,否则git stash不生效),这样我们就可以git stash <当前分支>,现在我们可以新建一个分支,进行bug修复了。

  8.恢复隐藏:git stash apply 或者 git stash pop

  当我们的bug修复完成,我们要继续coding时,我们需要恢复现场,首先我们可以通过git stash list来查看我们隐藏的工作,通过git stash apply 恢复,但是回复后stash的内容并没有被删除需要使用命令git stash drop来删除;也可以通过git stash pop ,恢复stash时也把stash的内容删除了.  

廖雪峰git教程笔记与总结--git简介常用命令分支管理(代码片段)

...-廖雪峰的官方网站后的一些心得笔记,并且对git一些常用命令做一个整理总结。本文要点分为:1、Git简介;2、Git常用命令;3、Git分支管理。一、Git简介什么是Git?Git是目前世界上最先进的分布式版本控制系... 查看详情

学习总结git学习-参考廖雪峰老师教程九-使用码云

学习总结之Git学习-总目录:一、Git简介二、安装Git三、创建版本库四、时光机穿梭五、远程仓库六、分支管理七、标签管理八、使用GitHub九、使用码云十、自定义Git期末总结九、使用码云 查看详情

git常用命令清单(代码片段)

本文通过学习廖雪峰老师的git教程整理而成,文章几处引用教程中的图,侵删,老师的git教程链接:https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000概念简单介绍在A目录使用git进行版本管理,A目录即为工作区,... 查看详情

廖雪峰git教程学习笔记

...果需要更全的知识请移步廖老师Git教程学习内容来源:廖雪峰Git教程:https://www.liaoxuefeng.com/wiki/0013739516305929606dd183 查看详情

git常用命令(代码片段)

Git使用(对廖雪峰老师Git教程的总结,同时推荐一个博客的教程,诙谐有趣)Git配置全局配置主目录下的.gitconfig#设置名称信息gitconfig--globaluser.name<"Name">#设置邮箱信息gitconfig--globaluser.email<"Email">#显示颜... 查看详情

廖雪峰git教程笔记与总结--git简介常用命令分支管理(代码片段)

...-廖雪峰的官方网站后的一些心得笔记,并且对git一些常用命令做一个整理总结。本文要点分为:1、Git简介;2、Git常用命令;3、Git分支管理。一、Git简介什么是Git?Git是目前世界上最先进的分布式版本控制系... 查看详情

常用git命令手册(代码片段)

常用Git命令手册此文只是对Git有一定基础的人当记忆使用,比较简略,初级学员强烈推荐廖雪峰老师的Git系列教程,通俗易懂,戳此处即可开始学习1.安装GitLinuxsudoapt-getinstallgit复制代码Window:到Git官网下载安装:https://git-scm.com/do... 查看详情

廖雪峰git教程学习笔记

...78c67b8067c8c017b000创建版本库初始化一个Git仓库,使用gitinit命令。添加文件到Git仓库,分两步:第一步,使用命令gitadd<file>,注意,可反复多次使用,添加多个文件;第二步,使用命令gitcommit,完成。版本回 查看详情

github教程本地仓库托管到github

...程的GitHub子篇章,因此GitHub教程中将不再详细介绍Git操作命令及其用法,我会根据实际需要穿插着回顾Git操作命令。如果读者需要学习或者回顾Git命令,可以参考Git系列教程中的Git子篇章,当然也可以参考廖雪峰Git教程,廖雪峰... 查看详情

笔记git的常用操作命令(持续更新。。。)

项目正在如火如荼的开展,代码量的繁多不得不令我们运用git这个有用的工具去管理我们共同协作的代码git在这里不作什么介绍了,百度一大堆的教程首推廖雪峰老师的:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c... 查看详情

git常用命令

推荐使用教程:廖雪峰的git教程 创建仓库及配置步骤省略...本地仓库的内容推送到GitHub仓库:$mkdirrunoob-git-test#创建测试目录$cdrunoob-git-test/#进入测试目录$echo"#菜鸟教程Git测试">>README.md#创建README.md文件并写入内容$ls#查看... 查看详情

git常用命令

git教程参考(廖雪峰的教程):https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b0001、基础命令1)初始本地库命令:gitinit  2)添加修复到缓冲区命令:gitadd命令:gitadd.【注意有个句点】是添加所有文件的修... 查看详情

git教程

  该笔记事笔者学习廖雪峰Git教程的笔记,如果想详细了解Git请移步廖雪峰官网。  廖雪峰官网地址: https://www.liaoxuefeng.com/  廖雪峰Git教程: https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67 查看详情

廖雪峰git教程学习笔记

廖雪峰git简单教程学习笔记教程地址:https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b0001、可以这样设计目录,在d: eposisoty在这个目录下面有很多的仓库。mkdirlearngitcdlearngit>>gitinit   &n 查看详情

git常用命令-zqh

详细信息参考廖雪峰老师的git!!! 基本条件:安装GitHub,安装成功之后;(windows系统)1、安装完成后,还需要一步设置,在命令行输入:$gitconfig--globaluser.name"YourName"$gitconfig--globaluser.email"[email protected]"2、配置Ssh公钥... 查看详情

git(代码片段)

...装程序,安装完成后找到Git,启动GitBash,蹦出一个类似命令行窗口的东西就表示Git安装成功!安装完以后的配置:$gitconfig--globaluser.name"yourname"$gitconfig--globaluser.email"email@example.com"12因为Git是分布式版本控制系统,所以每个机器都... 查看详情

廖雪峰的git教程总结

...一下今天学的两点内容:初始化一个Git仓库,使用gitinit命令。添加文件到Git仓库,分两步:使用命令gitadd<file>,注意,可反复多次使用,添加多个文件;使用命令gitcommit-m<message>,完成。二:版本回退现在总结一下:HEA... 查看详情

廖雪峰git入门教程

廖雪峰Git入门教程 2018-05-2423:05:11    0    0    0https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000 查看详情