【一分钟系列】一分钟了解git常用操作

1,063 阅读4分钟

写在前面

一分钟系列是一系列技术短文的合集,有的是入门级教程,有的是技术的总结,也许有的内容阅读与掌握可能不止一分钟的时间,但是花一段时间掌握后,别人问起相关技术时,你就可以对他们说“这不就是一分钟的事儿么” ٩(๑❛ᴗ❛๑)۶

git初始化设置

设置用户名和密码

git config --global user.name "Nauyus"
git config --global user.email "Nauyus@xx.com"

git查看全局配置信息 git config -l

生成公钥和私钥 ssh-keygen -t rsa -C "youremail@example.com"

初始化仓库 git init

git基本操作

将文件添加到仓库 git add filename

一次添加多个文件 git add .

将文件提交到仓库 git commit -m "message"

将文件从仓库删除 git rm filemame

查看当前状态 git status

git回退操作

删除所有untracked的文件 git clean -df

将本地修改撤销掉 git checkout -- filename

将暂存区修改撤销掉 git reset HEAD filename

将本地文件回退到指定版本 git reset --hard version_number

将本地文件回退到上一版本 git reset --hard HEAD^

删除版本库中的内容 git rm -r -f --cached out+commit

git远程强制覆盖本地

$ git fetch --all
$ git reset --hard origin/master 
$ git pull

DIFF操作

查看工作区和暂存区差别 git diff

查看暂存区和仓库差别 git diff --cached

查看工作区和仓库差别 git diff HEAD

查看本地分支和远程分支区别 git diff master origin/master

直接将两个分支上最新的提交做diff git diff topic master

查看当前目录和另外一个分支的差别 git diff test

比较两个历史版本之间的差异 git diff SHA1 SHA2

比较两个版本间有哪些文件变更 git diff edf19e c458bd7 --stat

git查看不同版本某一文件差异 git diff HEAD bd0f34e08d0ee288ce7869287f0725191594a608 --stat -- *.java

git查看不同分支文件差异 git diff source_1028-0-7_BRANCH master --stat -- *.java

查看历史记录 git log(-- pretty=oneline 可选参数)

查看命令记录 git reflog

git分支操作

创建分支 git branch <branchName>

创建并切换到分支 git checkout -b <branchName>

切换分支 git checkout <branchName>

删除分支 git branch -d <branchName>

删除远程分支 git push origin --delete <branchName>

与当前分支合并 git merge <branchName>

查看分支 git branch -a

查看所有本地分支和远程分支之间关联 git branch -vv

git远程库操作

从远程库克隆 git clone git@link/file.git

查看远程仓库信息 git remote -v

将远程仓库和本地仓库关联 git remote add origin git@link/file.git(origin并非固定值)

解除与远程仓库的关联 git remote rm origin

设置本地分支和远程分支的关联 git branch --set-upstream-to origin/dev dev

从远程仓库拉取并合并 git pull origin dev

从远程仓库获取并合并 git fecth origin dev + git merge origin/branch

将本地仓库内容推送到关联的远程:git push origin master(master为当前分支)

git stash操作

存储 git stash

查看stash区域 git stash list

恢复stash中内容 git stash apply stash@{stash_number}

删除stash中内容 git stash drop stash@{stash_number}

git tag操作

查看tag git tag

查看tag详细信息 git show v1.0

创建tag git tag -a v1.0 -m 'this is test version 1.0'

删除本地tag git tag -d v0.8

删除远程tag git push origin master :refs/tags/v0.8

tag推送到远程 git push origin v1.0

感谢阅读,如有收获,求点赞、求关注让更多人看到这篇文章,本文首发于不止于技术的技术公众号 Nauyus ,欢迎识别下方二维码获取更多内容,主要分享JAVA,微服务,编程语言,架构设计,思维认知类等原创技术干货,2019年12月起开启周更模式,欢迎关注,与Nauyus一起学习。

福利一:后端开发视频教程

这些年整理的几十套JAVA后端开发视频教程,包含微服务,分布式,Spring Boot,Spring Cloud,设计模式,缓存,JVM调优,MYSQL,大型分布式电商项目实战等多种内容,关注Nauyus立即回复【视频教程】无套路获取。

福利二:面试题打包下载

这些年整理的面试题资源汇总,包含求职指南,面试技巧,微软,华为,阿里,百度等多家企业面试题汇总。 本部分还在持续整理中,可以持续关注。立即关注Nauyus回复【面试题】无套路获取。