git命令大合集

最常用的命令及解释

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

一次完整的代码提交

// 适用于多人协同工作时,可能会操作同一文件夹,出现冲突的情况
$ git add -A
$ git commit -m "message"
$ git pull --rebase (或者git fetch + git rebase)
# 解决冲突
$ git add 冲突文件
$ git rebase –continue
$ git push
// 其中,3、4、5点,如果没遇到冲突就不用进行,直接push上去。
// 当遇到冲突时,git会提示patch failed,并要我们解决问题了再执行git rebase --continue

命令详解

git init

本地初始化一个git仓库

 # 初始化一个git仓库,在当前目录下生存一个 **.git** 的目录
 $ git init
git clone

从远程克隆一个仓库到本地

# 从远程仓库克隆一个项目
$ git clone <远程仓库地址>

# 从远程仓库克隆一个项目,并重新命名为MyProject
$ git clone <远程仓库地址> MyProject

# 从远程仓库克隆一个项目到指定目录
$ git clone <远程仓库地址> <目标目录>
git status

查看本地仓库的状态

# 查看当前仓库的状态
$ git status
git add

将要提交的文件添加到暂存区中

# 添加指定的文件
$ git add <文件路径>

#添加多个指定文件
$ git add <文件路径> <文件路径> <文件路径>...

# 添加所有已修改过的文件(包括修改、删除、新增的文件)
$ git add -A
$ git add --all
$ git add .
git commit

将暂存区中的文件提交到本地仓库中

# 将暂存区中的文件提交到本地仓库并添加提交说明
$ git commit -m '提交说明'

# 修改上次提交的提交说明
$ git commit --amend
git push

将本地仓库的更新推送到远程仓库

# 把本地分支推送到远程指定分支
$ git push <远程仓库别名> <本地分支名>:<远程分支名>
eg:git push origin master 将本地的master分支推送到origin主机的master分支。如果master不存在,则会被新建。

# 删除远程分支
$ git push <远程仓库别名> :<远程分支名>
// 相当于推送了一个空的本地分支到远程,等同于:
$ git push <远程仓库别名> --delete <远程分支名>
git pull

从远程拉取最新的代码并合并到本地分支

# 从远程拉取最新的代码
$ git pull

# 拉取远程某个分支的更新,再与本地的指定分支合并
$ git pull <远程仓库别名> <远程分支名>:<本地分支名>

# 如果远程分支要与当前分支合并,则冒号后面的部分可以省略
$ git pull <远程仓库别名> <远程分支名>

// git pull =git fetch+git merge
// git pull --rebase = git fetch + git rebase
// git pull  命令相当于是从远程拉取了代码(git fetch),并且合并到了一个本地的分支(git merge
// 如果使用--rebase 则代表使用git rebase代替git merge
git fetch

从远程仓库获取最新的版本到本地分支上

#  将远程仓库所有分支的最新版本全部取回到本地
$ git fetch <远程仓库的别名>

# 将远程仓库指定分支的最新版本取回到本地
$ git fetch <远程主机名> <分支名>
git merge

合并分支

# 把指定的分支合并到当前所在的分支下
$ git merge <分支名称>
git log

查看提交记录

# 查看所有的提交记录
$ git log

# 查看最新的指定数量的提交记录
$ git log -<数量>
git stash

将当前未提交的所有操作保存起来

# 将当前未提交的所有操作保存
$ git stash

# 将最新的一个缓存恢复到工作目录
$ git stash pop

# 查看所有的缓存列表
$ git stash list
git checkout

git checkout 可以用于操作分支也可用于操作文件

// git checkout 操作分支
# 切换到已存在的指定分支
$ git checkout <分支名>

# 创建并切换到指定的分支,保留所有的提交记录
$ git checkout -b <分支名>

// git checkout 操作文件
# 放弃本地文件的修改,新增的文件和已经添加到暂存区的内容不受影响

$ git checkout <文件路径>

# 放弃本地所有的文件修改
$ git checkout --hard HEAD
git branch

对分支的操作命令

# 查看本地的所有分支,当前所在分支以 "*" 标出
$ git branch

# 创建新分支,新的分支基于上一次提交建立
$ git branch <分支名>

# 查看所有本地、远程分支,当前所在分支以 "*" 标出
$ git branc -r

// 修改分支名称
# 如果不指定原分支名称则为当前所在分支
$ git branch -m [<原分支名称>] <新的分支名称>

# 强制修改分支名称
$ git branch -M [<原分支名称>] <新的分支名称>

// 删除指定的分支
# 删除指定的本地分支
$ git branch -d <分支名称>

# 强制删除指定的本地分支
$ git branch -D <分支名称>
git diff

比较版本间的差异

# 比较当前文件与暂存区文件的区别,显示没有暂存的修改
$ git diff

# 比较暂存区中文件和上次提交的文件的区别
$ git diff --cached
$ git diff --staged

# 比较当前文件和上次提交文件的区别
$ git diff HEAD

# 查看从指定版本之后改动的内容
$ git diff <版本号>

# 比较两个分支之间的差异
$ git diff <分支名称> <分支名称>
git reset

版本回退

# 回退版本,一个^代表一个版本,可以有多个,
$ git reset HEAD^
$ git reset HEAD~n

# 回退到指定的版本
$ git reset <版本号>

# 将 HEAD 的指向改变,撤销到指定的提交记录,文件也修改了
$ git reset --hard <版本号>

# 将 HEAD 的指向改变,撤销到指定的提交记录,文件未修改
$ git reset --soft <commit ID>
git tag

操作标签

# 查看所有的标签
$ git tag

# 切换到指定标签
$ git checkout <标签名>

# 查看标签的信息
$ git show <标签名称>

# 删除指定的标签
$ git tag -d <标签名称>

# 将指定的标签提交到远程仓库
$ git push <远程仓库的别名> <标签名称>

# 将本地所有的标签全部提交到远程仓库
$ git push <远程仓库的别名> -tags
git rm

删除操作

# 删除指定文件,并从本地仓库的文件夹中删除
$ git rm <文件路径>

# 移除跟踪指定的文件,在本地仓库的文件夹中保留该文件
$ git rm --cached
git mv

重命名操作

# 重命名指定的文件或者文件夹
$ git mv <源文件/文件夹> <目标文件/文件夹>
git reflog

查看所有分支的所有操作记录

#  如果回退到某个版本后又要再次回到之前的版本,就可以使用git reflog,查看所有的提交记录
#  包括已经删除的commit记录(git log不能查看已经删除的commit记录)
$ git reflog
git revert

生成一个新的提交来撤销某次提交,此次提交之前的所有提交都会被保留。

# 生成一个新的提交来撤销某次提交
$ git revert <版本号>
git remote

操作远程仓库。

# 列出已经存在的远程仓库
$ git remote

# 添加远程仓库
$ git remote add <远程仓库的别名> <远程仓库的URL地址>

# 修改远程仓库的别名
$ git remote rename <原远程仓库的别名> <新的别名>

# 删除指定名称的远程仓库
$ git remote remove <远程仓库的别名>

# 修改远程仓库的 URL 地址
$ git remote set-url <远程仓库的别名> <新的远程仓库URL地址>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值