git常用命令

git常用命令速查

      • [查看配置信息:git config ---list](#查看配置信息:git config —list)
      • [查看 git 命令的具体用法](#查看 git 命令的具体用法)
      • [克隆远程仓库:git clone url](#克隆远程仓库:git clone url)
      • [在已存在的目录上初始化仓库:git init](#在已存在的目录上初始化仓库:git init)
      • [查看仓库中文件状态:git status](#查看仓库中文件状态:git status)
      • [跟踪新文件:git add](#跟踪新文件:git add)
      • [暂存已修改的文件:git add](#暂存已修改的文件:git add)
      • [忽略文件 .gitignore](#忽略文件 .gitignore)
      • [查看已暂存文件和未暂存文件之间修改的变化:git diff](#查看已暂存文件和未暂存文件之间修改的变化:git diff)
      • [提交更新:git commit](#提交更新:git commit)
      • [移除文件: git rm](#移除文件: git rm)
      • [移动文件:git mv soure destination](#移动文件:git mv soure destination)
      • [查看提交历史:git log](#查看提交历史:git log)
      • [版本穿梭:git reset ---hard <版本号>](#版本穿梭:git reset —hard <版本号>)
      • [查看分支:git branch -v](#查看分支:git branch -v)
      • [创建一个新的分支:git branch <分支名>](#创建一个新的分支:git branch <分支名>)

查看配置信息:git config ---list

git config --list

查看 git 命令的具体用法

git help <verb>git <verb> --helpman git-<verb> ,这三种命令是等价的,其中 <verb> 指 git 的命令,输入这三种命令,会弹出查询命令的详细手册;

若只是想在命名行中查询该命令的可选项,可以使用命令 git <verb> -h

克隆远程仓库:git clone url

git clone <url>

例如:git clonehttps://github.com/libgit2/libgit2

如果想在克隆远程仓库的时候,自定义本地仓库的名字,可以通过额外的参数指定新的目录名;

git clone <url> newDirname

例如:git clonehttps://github.com/libgit2/libgit2mylibgit

在已存在的目录上初始化仓库:git init

如果你想对一个项目目录进行版本控制,切换到该目录下,执行 git init 命令,该文件夹下就会创建一个名为 .git 的子目录,然后就可以对该项目目录下的文件进行版本控制;

查看仓库中文件状态:git status

git status 命令可以查看该项目目录下各文件的状态;

该命令后面可以接文件名或目录名,表示查看该文件或该目录的状态;

跟踪新文件:git add

在一个进行版本控制的项目目录下创建了一个新文件时,是没有对该文件进行跟踪的,需要使用命令 git add filename 对文件进行跟踪,若filename为目录名,则会递归地跟踪该目录下的所有文件;

新文件执行了 git add filename 命令后,状态为暂存状态;

暂存已修改的文件:git add

把已跟踪的文件放到暂存区,git add filename

忽略文件 .gitignore

有些文件是不需要纳入Git的管理,例如日志文件,存放数据的文件夹等,我们不希望这些文件总是出现在未跟踪的文件列表中,一般的做法是创建一个名为 .gitignore 的文件,在该文件中列出要忽略的文件的模式。

markdown 复制代码
# 忽略所有的 .a 文件
*.a
# 但跟踪所有的 lib.a,即便你在前面忽略了 .a 文件
!lib.a
# 只忽略当前目录下的 TODO 文件,而不忽略 subdir/TODO
/TODO
# 忽略任何目录下名为 build 的文件夹
build/
# 忽略 doc/notes.txt,但不忽略 doc/server/arch.txt
doc/*.txt
# 忽略 doc/ 目录及其所有子目录下的 .pdf 文件
doc/**/*.pdf

查看已暂存文件和未暂存文件之间修改的变化:git diff

命令 git diff 能通过文件补丁的格式更加具体地显示哪些行发生了改变;

git diff 命令比较的是工作目录中当前文件和暂存区域快照之间的差异,也就是修改之后还没有暂存起来的变化内容;注意:git diff 命令本身只显示尚未暂存的改动,而不是自上次提交以来所做的所有改动;

若要对比已暂存文件与最后一次提交的文件差异,可以使用命令 git diff --staged

提交更新:git commit

命令 git commit 将暂存区的文件提交,输入命令后会启动编辑器,如下所示:

在编辑器中的第一行是个空行,用来输入提交说明;输入提交说明后,保存并退出编辑器,就提交成功了,如下图所示:

也可以在 commit 命令后添加 -m 选项,在-m 选项后面输入提交信息,将提交信息与命令放在同一行,注意:输入信息要用引号引起来 ,如下图所示:

命令git commit -a 将使暂存区的文件一并提交,即使暂存区的文件还没有使用命令 git add 将暂存区的文件提交到工作区;

移除文件: git rm

命令 git rm 将使文件不在被跟踪,并且Git将删除这个文件,即从磁盘中删除该文件,然后使用命令 git commit ,删除操作将不可撤回;

使用命令 git rm --cached <file>使文件不再被Git跟踪,但依然保存在磁盘上;也即将文件移出暂存区,但不会将文件从磁盘中删除。

移动文件:git mv soure destination

将文件或目录移动到指定目录下,或将文件重命名;

查看提交历史:git log

命令 git log 查看项目的提交历史(详细信息),更多选项使用命令 git help log 查看;

git reflog 查看版本信息

版本穿梭:git reset ---hard <版本号>

git reset --hard <version_id> 回到某个历史版本

查看分支:git branch -v

创建一个新的分支:git branch <分支名>

创建一个名为 hot-fix 的新分支,git branch hot-fix

相关推荐
九月镇灵将24 分钟前
GitPython库快速应用入门
git·python·gitpython
程序猿chen1 小时前
《JVM考古现场(十五):熵火燎原——从量子递归到热寂晶壁的代码涅槃》
java·jvm·git·后端·java-ee·区块链·量子计算
前端三叶草5 小时前
git subtree 最佳实践
git
Code_Geo6 小时前
Git操作指南
git
阳光_你好8 小时前
解决用git bash终端 tail -f 命令查看日志中文乱码问题
开发语言·git·bash
geekmice17 小时前
多个git账户团队写作
git
森叶17 小时前
linux如何与windows进行共享文件夹开发,不用来回用git进行拉来拉去,这个对于swoole开发者来说特别重要
linux·git·swoole
qziovv18 小时前
GIT 撤销上次推送
git
Cloud_Air75419 小时前
本地合并多个仓库,保留Commit历史
git·github
high201120 小时前
【Git】-- 处理 Git 提交到错误分支的问题
git