美文网首页
Git常用命令详解

Git常用命令详解

作者: VinSmokeW | 来源:发表于2019-11-28 11:29 被阅读0次

Git简介

Git是Linux之父Linus的第二个伟大的作品,它最早是在Linux上开发的,被用来管理Linux核心的源代码。后来慢慢地有人将其移植到了Unix、Windows、Max OS等操作系统中。

Git是一个分布式的版本控制系统,与集中式的版本控制系统不同的是,每个人都工作在通过克隆建立的本地版本库中。也就是说每个人都拥有一个完整的版本库,查看提交日志、提交、创建里程碑和分支、合并分支、回退等所有操作都直接在本地完成而不需要网络连接。

对于Git仓库来说,每个人都有一个独立完整的仓库,所谓的远程仓库或是服务器仓库其实也是一个仓库,只不过这台主机24小时运行,它是一个稳定的仓库,供他人克隆、推送,也从服务器仓库中拉取别人的提交。

Git是目前世界上最先进的分布式版本控制系统,没有之一,对,没有之一!

三个区

git_three_rigon.png-212.9kB

工作区(working diretory) 用于修改文件
缓存区(stage) 是用来暂时存放工作区中修改的内容
提交历史(commit history) 提交代码的历史记录

主要的几个命令

git add # 将工作区的修改提交到暂存区
git commit # 将暂存区的修改提交到当前分支
git reset # 回退到某一个版本
git stash # 保存某次修改
git pull # 从远程更新代码
git push # 将本地代码更新到远程分支上
git reflog # 查看历史命令
git status # 查看当前仓库的状态
git diff # 查看修改
git log # 查看提交历史
git revert # 回退某个修改

git commit用法

git commit –m “本次提交描述”

该命令会将git add .存入暂存区修改内容提交至本地仓库中,若文件未添加至暂存区,则提交时不会提交任何修改。

git commit -a

相当于运行 git add -u把所有当前目录下的文件加入缓存区域再运行git commit.
注意!对于新增的文件,并没有被commit

git commit –am “本次提交描述”
或者git commit –a –m“本次提交描述”

等同于上面的-a和-m

git commit --amend

修改最近一次提交。有时候如果提交注释书写有误或者漏提文件,可以使用此命令。对于漏提交的文件,需要git add到缓存区之后,git commit --amend才能将修改追加到最近的一次提交上。

git stash用法

$ git stash
所有未提交的修改都保存起来,用于后续恢复当前工作目录

$ git stash save "stash_name"
给每个stash加一个message,用于记录版本

$ git stash pop / git stash apply
恢复最新缓存的工作目录(第一个),并删除缓存堆栈中的那一个stash删除(pop), apply则只恢复不删除

$ git stash list
查看现有所有stash
在使用git stash pop(apply)命令时可以通过名字指定使用哪个stash,默认使用最近的stash(即stash@{0})

$ git stash drop
移除最新的stash,后面也可以跟指定stash的名字

git reset用法

git reset根据–soft –mixed –hard,会对working tree和index和HEAD进行重置

$ git reset HEAD^

回退版本,一个^表示一个版本,可以多个,另外也可以使用 git reset HEAD~n这种形式。
也可以回退到指定版本:
$ git reset commit-id

soft 参数:git reset --soft HEAD~1 意为将版本库软回退1个版本,所谓软回退表示将本地版本库的头指针全部重置到指定版本,且将这次提交之后的所有变更都移动到暂存区

默认的mixed参数:git reset HEAD~1 意为将版本库回退1个版本,将本地版本库的头指针全部重置到指定版本,且会重置暂存区,即这次提交之后的所有变更都移动到工作区

hard参数:git reset --hard HEAD~1 意为将版本库回退1个版本,但是不仅仅是将本地版本库的头指针全部重置到指定版本,也会重置暂存区,并且会将工作区代码清空(工作区是clean状态)

注意,soft参数与默认参数都不会修改工作区代码,只有hard参数才会修改工作区代码。

另外,git reset HEAD filename
回退文件,将文件从暂存区回退到工作区(unstage),此时不能带hard,soft参数

git reflog

如果在回退以后又想再次回到之前的版本,git reflog 可以查看所有分支的所有操作记录(包括commit和reset的操作),包括已经被删除的commit记录,git log则不能察看已经删除了的commit记录

615ce06 HEAD@{44}: rebase -i (finish): returning to refs/heads/my_test_branch
615ce06 HEAD@{45}: rebase -i (fixup): zancun_new
702356c HEAD@{46}: rebase -i (fixup): # This is a combination of 2 commits.
c997622 HEAD@{47}: rebase -i (reword): zancun_new
fb74ec2 (origin/master, origin/HEAD) HEAD@{48}: rebase -i (start): checkout FETCH_HEAD
f3ef592 HEAD@{49}: commit: zancun3
6b82c75 HEAD@{50}: commit: zancun2
e900fa0 HEAD@{51}: commit: zancun

原文作者:Windy_816
原文链接:https://www.jianshu.com/p/360bdda5157f
来源:简书

相关文章

  • 实习日记2:git代码管理

    mac:brew install git创建 常用命令:git常用命令及详解[https://blog.csdn....

  • Git 常用命令详解

    @[TOC](Git 常用命令详解) 1. Git 常用命令 1.1 常用git 命令图表汇总 1.2 配置个人信...

  • Git-基础1

    常用命令 参考 Git远程操作详解 和 Git教程 which -a git # 查看所有版本的 gitgit -...

  • Git 常用命令详解

    【Git 常用命令详解(二)】[https://blog.csdn.net/ithomer/article/det...

  • git资源学习

    git资源学习 Git详解之一 Git起步 Git详解之二 Git基础 Git详解之三 Git分支 Git详解之四...

  • git相关教程汇总

    1. git常用命令 git常用命令总结git常用命令讲解 2. git教程相关网站 廖雪峰的git教程猴子都能懂...

  • Git远程操作详解

    Git远程操作详解 Git远程操作详解

  • 【Git】reset与revert

    参考文章 【Git】reset实例详解 git revert 详解

  • git命令整理

    git常用命令 GIT常用命令备忘:http://stormzhang.com/git/2014/01/27/gi...

  • git操作

    Git原理 Git常用命令

网友评论

      本文标题:Git常用命令详解

      本文链接:https://www.haomeiwen.com/subject/khovwctx.html