Git命令大全【建议收藏】

系统 Linux
其实在很久之前想写这个文章,但是吧,又觉得这个东西大家都是最常用的,应该大家都比较熟悉,但是呢,在实际工作中还是有很多人不太会使用使用Git命令行,或者连Git的客户端工具都不太会使用.

前言

其实在很久之前想写这个文章,但是吧,又觉得这个东西大家都是最常用的,应该大家都比较熟悉,但是呢,在实际工作中还是有很多人不太会使用使用Git命令行,或者连Git的客户端工具都不太会使用,可怕

其实这个东西如果只是用来工作中的开发使用,倒也是没必要去为之买本书而研究,只需要稍微理解原理,学会使用常用命令即可

本文假设的是大家有一定的Git基础,这一篇的作用是介绍Git的命令行,解释每个的命令的作用

我这篇文章默认大家对Git是有一定了解的,也就是关于上面这些理论啥的大概应该是懂得,我也就不多啰嗦了,个人操作的是工作区,add之后会提交到一个暂存区stage,commit之后会提交到本地仓库,push是提交到远程仓库

Git是世界上目前最先进的分布式版本控制系统,为的就是解决那种多人协作、多次修改的问题

最顺利提交

先来给大家熟悉下Git的仓库的划分情况:Git是目前世界上最先进的分布式版本控制系统(没有之一)。

先来给大家熟悉下Git的仓库的划分情况:Git是目前世界上最先进的分布式版本控制系统(没有之一)。

配置和创建版本库、分支命令、tag命令、修改和提交、撤销、查看历史、

配置和创建版本库

查看配置:git config --list

配置/修改用户名:git config --global user.name "name"

配置/修改邮箱:git config --global user.email "email"

检出仓库:git clone git://github.com/jquery/jquery.git

查看远程仓库:git remote -v

添加远程仓库:git remote add [name] [url]

删除远程仓库:git remote rm [name]

拉取远程仓库:git pull [remoteName] [localBranchName]

推送远程仓库:git push [remoteName] [localBranchName]

分支命令

查看远程所有分支:git branch -r

查看本地所有分支:git branch

查看所有分支:git branch -a

创建本地分支:git branch [name] 创建后需要手动切换分支

创建远程分支:git push origin [name]

创建新分支并且立即切换到新分支:git checkout -b [name]

切换分支:git checkout [name]

删除本地分支:git branch -d/-D [name] -D用来强制删除 -d只能删除已经参与了合并的分支,对于未有合并的分支是无法删除的

删除远程分支:git push origin --delete [name]

强制覆盖本地代码:git fetch --all && git reset --hard origin && git pull

合并分支:git merge [name] 将name分支合并到当前分支

查看当前状态:git status

tag命令

查看版本:git tag

创建版本:git tag [name]

删除版本:git tag -d [name]

查看远程版本:git tag -r

创建远程版本:git push origin [name]

删除远程版本:git push origin --delete [name]

合并远程仓库的tag到本地:git pull origin --tags

上传本地tag到远程仓库:git push origin --tags

创建带注释的tag:git tag -a [name] -m 'message'

修改和提交代码

查看状态:git status

查看变更内容:git diff

添加修改文件到暂存区:git add [file]

添加所有修改文件到暂存区:git add .

文件改名:git mv [old] [new]

删除文件:git rm [file]

提交所有暂存区文件到本地仓库:git commit -m 'message'

修改最后一次提交:git commit --amend

推送本地仓库到远程仓库:git push origin [name]

合并分支代码:git merge [name] 将name分支合并到当前分支

撤销代码

对某个文件的add撤销:git reset HEAD xxx.java

对所有文件的add撤销:git reset HEAD

对文件的commit撤销:git reset --hard HEAD

git reset [--mixed --soft --hard] commitID有三种参数,熟悉这三个参数的含义

--mixed代表撤销git add和git commit的操作,保留编辑器的代码;

--soft代表撤销git commit,不撤销git add操作,同时保留编辑器的代码;

--hard参数很暴力,直接撤销commit和add的操作,撤销所有改动的代码,当你决定用--hard参数的时候,就代表着你应该已经决定了放弃修改过的所有代码咯

push操作的撤销:git reset commitID / git revert commitID

reset则是回到某次提交,此次提交以及之前的Commit都会被保留,但是此次之后的修改都会被退回到暂存区

revert则是生成一次新的Commit提交来撤销某次提交,此次提交之前的Commit都会被保留,可以理解成把相应版本的代码删除掉,再次提交

查看信息

查看当前分支的版本和历史:git log

显示commit历史,以及每次Commit的发生变更的文件:git log --stat

根据关键字搜索提交历史:git log -S [keyword]

显示某个文件的版本历史,包括文件改名:git log --follow [file]

显示过去五次的提交:git log -5 --pretty --oneline

显示所有提交过的用户,按照提交次数排序:git shortlog -sn

显示指定文件是什么人在什么时间修改过:git blame [file]

显示暂存区和工作区的差异:git diff

显示当前分支的最近几次提交:git reflog

新建Git代码库:git init

查看当前文件状态:git status

远程同步

下载远程仓库的所有变动:git fetch [remote]

显示所有远程仓库:git remote -v

显示某个远程仓库的信息:git remote show [remote]

增加一个新的远程仓库并命名:git remote add [shortname] [url]

上传本地指定分支到远程仓库:git push [remote] [branch]

强行推送当前分支到远程仓库:git push [remote] --force

推送所有分支到远程仓库:git push [remote] --all

 

责任编辑:姜华 来源: 大鱼仙人
相关推荐

2021-10-12 13:35:30

C++Set红黑树

2021-01-26 09:25:02

Nginx开源软件服务器

2022-03-24 07:38:07

注解SpringBoot项目

2022-08-24 11:54:10

Pandas可视化

2020-09-10 14:52:01

JVMJava算法

2020-12-18 08:03:00

插件MyBatis Executor

2020-11-23 07:27:22

Git Flow

2022-05-18 11:35:17

Python字符串

2010-06-03 17:49:25

Hadoop命令

2009-09-14 15:25:23

CCNA命令

2010-06-08 13:03:25

Opensuse 命令

2013-12-12 17:46:02

命令VIM

2009-12-25 13:44:00

grep命令

2019-09-03 10:55:20

Python函数lambad

2022-07-20 00:15:48

SQL数据库编程语言

2020-03-12 09:06:05

数据挖掘聚类分析学习

2022-07-20 09:05:06

Python编程语言

2020-07-06 11:53:08

TCP三次握手协议

2011-03-16 14:22:00

Iptables命令Linux

2020-06-19 09:55:00

Redis数据库字符串
点赞
收藏

51CTO技术栈公众号