文章目录
- 创建/初始化本地仓库
- 添加本地仓库配置项
- 提交文件
- 查看仓库状态
- 回退仓库
- 查看日志
- 分支
- 删除文件
- 暂存工作区代码
- 远程仓库
- 使用 `.gitigore` 文件让 git 不追踪一些文件
- 标签
创建/初始化本地仓库
git init
添加本地仓库配置项
git config -l #以列表形式显示配置项
git config user.name "ljh" #配置user.name
git config user.email "123123@qq.com" #配置user.email
git config --unset user.name #重置user.name
git config --unset user.email #重置user.email
git config --global user.name "ljh" #设置当前机器上所有的本地仓库配置
git config --global --unset user.name #gloal设置的也需要带gloal删除
git config [可加--global] alias.[别名] '本名'
#例:git config [--global] alias.st 'status'
git status = git st
提交文件
git add [file] #将工作区的文件提交到暂存区
git add -f [file] #强制添加
git commit -m "描述" #将暂存区文件提交到版本库
查看仓库状态
git status #显示工作区和暂存区修改的文件
git diff [file] #查看工作区和暂存区 file 文件的区别
回退仓库
# 默认为 mixed
git reset --soft [commitID] [filename] #只回退版本库
git reset --mixed [commitID] [filename] #回退版本库和暂存区
git reset --hard [commitID] [filename] #都回退,版本库、暂存区、工作区
git reset --mixed HEAD #HEAD表示版本库当前版本,HEAD^为上版本,HEAD^^为上上版本
#centenOS:可能因为mixed是默认方式,所以不用--mixed,直接-- 即可
git checkout -- [filename] #撤销,修改工作区,让工作区和暂存区一致?
查看日志
git log #查看日志
git log --prettey=oneline #以列形式显示日志,好像是Ubentu的指令
git log -p #有格式的显示日志
git log --graph --abbrev-commit #图形化的显示日志
git log -n #显示前n行日志
git reflog #本地所有操作的日志
git cat-file -p [commitID] #查看objects对象
分支
git branch #查看所有分支,带*的是当前工作分支
git branch [name] #新建分支
git branch -d [name] #删除分支,只能删除其他分支,不能删除当前工作分支
git branch -D [分支] #强制删除分支
git branch -r #查看远程仓库的分支
git branch -a #本地和远程的分支都查看
git branch -v #查看本地分支信息
git branch -vv #查看本地和远程的分支连接
git branch --set-upstream-to=[远程分支] [本地分支] #建立连接
git remote show origin #查看remote地址,远程分支,还有和本地分支的对应信息等
git remote prune origin #删除远程仓库已删除的分支
git checkout [分支名] #切换分支
git checkout -b [分支名] #创建并切换分支
git checkout -b [分支名] [远程分支,例 origin/dev] #创建并切换,并建立连接
git merge [分支] #合并分支到当前工作分支
git merge --no-ff [分支] #非Fast Work模式,在git log中可以看到不同分支
git merge --no-ff -m "描述" [分支]
删除文件
git rm [file] #删除并提交
暂存工作区代码
git stash #暂存工作区新代码
git stash list #查看都存了什么
git stash pop #将暂存的代码拿出来,恢复现场,但会删除stash中内容
git stash apply #恢复现场,但是不删除stash内容
git stash apply stash@{0} #恢复指定内容(现场)
远程仓库
git clone [链接] #克隆远程仓库
git push #将本地仓库的东西推送给远程仓库
git push [远程仓库名] [本地分支]:[远程分支]
git push [远程仓库] [分支] #若本地分支和远程分支,则只需写一个
git pull [远程仓库] [远程分支]:[本地分支] #将远程仓库新的东西拉取
git remote #查看远程仓库名称
git remove -v #显示本地仓库权限,fetch和push之类的
使用 .gitigore
文件让 git 不追踪一些文件
.gitignore文件
*.so #不追踪所有 .so结尾的文件
!b.so #不忽略 b.so
git check-ignore -v [文件] #查看该文件为何被忽略
git add -f [文件名] #强制添加文件
标签
git tag #查看有哪些标签
git tag [标签名,例v1.0] #给最近的 commit 打标签
git tag [标签名] [commit ID] #给指定的 commit 打标签
git tag -a [标签名] -m "描述" [commit ID] #打标签同时添加描述
git tag -d [标签名] #删除标签
git show [标签名] #显示标签详细信息
git push [仓库名,例:origin] [本地标签]:[远程标签]
git push [仓库名] --tags #将所有标签提交
# 删除远程分支的方式
# 先删除本地,再push
git tag -d [标签]
git push origin :[远程标签]
以上就是本篇博客的所有内容,感谢你的阅读
如果觉得本篇文章对你有所帮助的话,不妨点个赞支持一下博主,拜托啦,这对我真的很重要。