常用Git命令集合大全 原创

努力的IT小胖子
发布于 2022-1-18 17:03
浏览
2收藏

春节不停更,此文正在参加「星光计划-春节更帖活动

前言

众所周知Git是项目的代码管理工具,相比于其他的东西,Git算是我们日常工作或者学习中使用最多的一款工具,但是实际业务中使用的Git命令就听过的,除了最基本的Git命令,还有很多Git命令需要我们掌握,因此特此整理Git常用命令,以供参考

Git仓库配置

1、git基本信息配置

1.1、git config

  • 查看配置
# local只针对某个仓库有效
git config --local --list

# global对当前用户所有仓库有效
git config --global --list

# system对系统所有登录的用户有效
git config --system --list
  • 添加配置
# local只针对某个仓库有效
git config --local user.name "[name]"
git config --local user.email "[email address]"

# global对当前用户所有仓库有效 推荐使用
git config --global user.name "[name]"
git config --global user.email "[email address]"

# system对系统所有登录的用户有效
git config --system user.name "[name]"
git config --system user.email "[email address]"

2、git仓库操作

2.1、git init

把已有项目初始化纳入git管理

cd gitTest

git init

2.2、git add

将文件添加到暂存区

# 将工作空间下所有文件添加到暂存区(new,modifyed)新文件、修改后的文件
git add .

#将工作空间下所有文件添加到暂存区(new,modifyed,delete)新文件、修改后的文件、删除的文件
git add -A

#将工作空间下所有文件添加到暂存区(modifyed,delete)修改后的文件、删除的文件
git add -u

#  提交指定文件到暂存区
git add [fileName] [fileName]

2.3、git commit

将暂存区的文件提交到版本库

# 将暂存区的文件提交到版本库并添加注释
git commit -m <commit message>

# 跳过git add 命令,直接将工作区所有已跟踪的文件提交到版本库,未跟踪的(untracked)文件不能使用该命令
git commit -am <commit message>

2.4、git status

查看工作目录和暂存区的状态

git status -s

2.5、git log

查看所有的提交的历史记录

# 查看所有的提交的历史记录
git log --graph --oneline

# 查看指定文件的提交记录
git log [FileName] 

# 查看所有分支的所有提交记录(包括commit和reset的操作)
git reflog

log的参数

参数 作用
–graph 绘制提交的线索的历史记录
–oneline 输出时,只显示每条日志的第一行
-p 会显示每次提交时改动的地方详情
–name-status 显示每次提交对应的文件改动
–author [authorName] 搜索指定人的提交记录

2.6、git rm

用于从工作区和索引中删除文件

# 删除暂存区文件的指定文件(本地工作区未删除)
git rm --cache [fileName]   

# 删除暂存区和本地工作区的指定文件
git rm -f [fileName]    

# 删除文件夹
git rm -r [dir]    

2.7、git reset

回滚(本地仓库版本,远程不受影响)

#  回滚到add操作后状态/本地代码未回退
git reset --soft [commitID]   [HEAD]

# 回滚到未add操作状态/本地代码未回退 (git reset默认状态)
git reset --mixed [commitID]    [HEAD]

#  彻底回滚到指定版本/本地代码也回退
git reset --hard [commitID]   [HEAD]

#  回退(远程仓库回退版本,会创建一个新的commit) 
git revert [commitID][HEAD]

2.8、git mv

用于移动或重命名一个文件、目录或软连接

#正常用法
git mv [file] [newfile]

# 如果新的文件名已经存在,但还是要重命名它
git mv -f [file] [newfile]

3 仓库分支操作

3.1、git branch

分支操作

# 查看当前项目所有的分支
git branch -all

# 创建分支
git branch [branchName]

# 删除本地的分支
git branch -d dev

# 删除本地追踪
git branch --delete --remotes <remote>/<branch>

# 修改分支名称
git branch -m

3.2、git checkout

切换分支

# 切换分支(没有目标分支会切换失败)
git checkout [branchName]

#  切换并创建分支(创建分支时会把当前分支内容复制到新分支 上)
git checkout -b [branchName]  

3.3、git diff

查看当前分支与指定分支的差异详情

#  查看当前分支与指定分支的差异详情
git diff [branchName]   

# 查看指定两个分支的差异
git diff [branchName1] [branchName2]  

#  显示出所有有差异的文件列表
git diff [beanchName] --stat   

# 查看当前分支与指定分支的指定文件的差异(路径可以是文件夹,也可以是具体文件)
git diff [branchName] [文件路径]    

3.4、git pull

拉取指定分支代码

git pull origin [branchName]    

3.5、git push

推送分支到远程仓库

git push origin [branchName]   

3.6、git merge

合并分支

 # 合并指定分支上本地仓库最新的commit的版本
git merge [branchName]   

# 合并指定分支上本地仓库最新push的版本
git merge origin/[branchName]    

3.7、git fetch

同步远程commit到本地

操作步骤

  1. git fetch origin master:tmp    在本地新建一个temp分支,并将远程origin仓库的master分支代码下载到本地temp分支
  2. git diff tmp    来比较本地代码与刚刚从远程下载下来的代码的区别
  3. git merge tmp    合并temp分支到本地的master分支
  4. git branch -d temp    如果不想保留temp分支 可以用这步删除

3.8、git clone

git clone http://gitlab.xqchuxing.com/gittest/xqchuxing-test.git

3.9、git remote

远程仓库链接

# 查看远程信息
git remote -v

# 远程仓库和本地仓库进行绑定
git remote add origin http://gitlab.xqchuxing.com/gittest/xqchuxing-test.git

4、git标签

4.1、git tag

标签操作

#查看当前项目所有标签
git tag    

#打一个标签
git tag -a [TagName] -m 'TagMsg'    

#给指定版本打一个标签
git tag -a [TagName] [CommitId] -m 'TagMsg'    

#推送本地所有标签
git push origin --tags    

#删除本地标签
git tag -d [TagName]   

#输出最新的Tag
git describe --tags `git rev-list --tags --max-count=1` 

©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
分类
已于2022-1-19 10:30:33修改
1
收藏 2
回复
举报
回复
    相关推荐