Git 命令清单

Risejl -
Git 命令清单
简介 Introduction

Git 是一个分布式版本控制系统,最初由 Linus Torvalds 创作。Git 是用于 Linux 内核开发的版本控制工具,与 CVSSubversion 等版本控制工具不同,它采用了分布式版本库的做法,不需要服务器端软件,就可以运行版本控制、使得源代码的发布和交流变得极其方便。Git 的速度很快,这对于 Linux 内核这样的大项目来说非常重要。Git 最为出色的是它的合并追踪(Merge Tracing)功能。原本 Git 只适用于 Linux/Unix 平台,但在 Windows 平台下的使用也已经相当成熟。

Git 的三种状态和四个区域

三种状态

已提交(committed)已修改(modified)已暂存(staged)

刚开始编辑文件时,文件处于已修改(modified)状态,文件在工作目录。

修改完了文件,执行git add ,这个时候文件就变为已暂存(staged)状态,文件进入暂存区,内容被保存到 Git 数据库中。

然后执行git commit,文件就变为已提交(committed)状态,创建了一个提交记录保存到了Git仓库。

四个区域

工作区:工作区是当克隆项目到本地后,项目所在的文件夹暂存区:用于存储工作区中添加上来的变更(新增、修改、删除)文件的地方本地仓库:用于存储本地工作区和暂存区提交上来的变更过的文件的地方远程仓库:把项目存储在一个地方而不是某个人的电脑上,以便多人协同工作。Git 常用命令配置相关
git config --list                                    #显示git配置
git config -e [--global]                             #编辑配置文件
git config [--global] user.name "[name]"             #设置代码提交时的用户名
git config [--global] user.email "[email address]" #设置代码提交时的邮箱
代码库相关
git init          #在当前目录下新建一个代码库
git clone [url]   #从目标地址下载一个项目
增删文件相关
git add [file]                        #把指定文件添加到暂存区
git add [dir]                         #把指定目录添加到暂存区
git add *                             #把当前目录的所有文件添加到暂存区
git rm [file]                         #删除工作区文件,并将这次删除放入暂存区
git mv [file-original] [file-renamed] #改名文件,并将其放入暂存区
提交相关
git commit [file] -m [message]       #提交暂存区指定文件到仓库
git commit -m [message]              #提交暂存区到仓库
git commit -v                        #提交时显示所有信息差异
git commit -a                        #提交工作区自上次提交之后的变化,直接到仓库区
git commit -amend [file]             #重做上一次提交,并包括指定文件的新变化
标签相关
git tag                         #列出所有标签
git tag [tag]                   #在当前提交新建一个标签
git tag [tag] [commit]          #在指定提交新建一个标签
git show [tag]                  #查看标签信息
git push [remote] [tag]         #提交指定标签
git push [remote] --tags        #提交所有标签
git tag -d [tag]                #删除本地标签
查看信息相关
git log                    #显示当前分支的版本历史
git status                 #显示有变更的文件
git log --stat             #显示提交历史,以及每次提交发生变更的文件
git log -S [keyword]       #根据关键词搜索提交历史
git log -p [file]          #显示指定文件的每一次差异
git shortlog -sn           #显示所有提交过的用户
git diff                   #显示工作区和暂存区的差异
git diff --cached [file]   #显示暂存区和上一次提交的差异
git diff [first-branch]...[second-branch] #显示两次提交之间的差异
git show [commit]:[filename] #显示某次提交时,某个文件的内容
git reflog                 #显示当前分支的最近几次提交
分支相关
git branch                  #列出所有本地分支
git branch -r               #列出所有远程分支
git branch -a               #列出所有本地分支和远程分支
git branch [branch-name]    #新建一个分支,但停留在当前分支
git checkout -b [branch]    #新建并切换到该分支
git checkout -              #切换到上一个分支
git merge [branch]          #合并指定分支到当前分支
git branch -d [branch-name] #删除指定分支
git push origin --delete [branch-name] #删除远程分支
远程仓库相关
git remote -v                     #显示所有远程仓库
git remote show [remote]          #显示指定远程仓库的信息
git remote add [shortname] [url]  #增加并命名一个新的远程仓库
git push [remote] [branch]        #上传本地指定分支到远程仓库
git remote add [remote] [url]     #把本地仓库和远程仓库关联
git pull [remote] [branch]        #取远程仓库的内容更新本地仓库
git pull [remote] [branch] --allow-unrelated-histories #强行合并仓库
git fetch [remote]                #下载远程仓库的所有变动
特别申明:本文内容来源网络,版权归原作者所有,如有侵权请立即与我们联系(cy198701067573@163.com),我们将及时处理。

Tags 标签

git

扩展阅读

加个好友,技术交流

1628738909466805.jpg