回复
常用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到本地
操作步骤
- git fetch origin master:tmp 在本地新建一个temp分支,并将远程origin仓库的master分支代码下载到本地temp分支
- git diff tmp 来比较本地代码与刚刚从远程下载下来的代码的区别
- git merge tmp 合并temp分支到本地的master分支
- 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
回复
相关推荐