git命令
git init
将一个文件夹变为初始化仓库
echo "hello" >> hello
创建一个名为hello的文件
git add .
将所有内容提交到临时仓库
注:临时仓库记录在下图中位置
git commit hello -m "init hello"
提交到版本仓库,注释“init hello”
注:版本仓库保存在下图中位置(经过混淆和加密)
git clone https://github.com/square/okhttp
将okhttp工程克隆到本地
git remote
在代码文件夹中查看远程版本号
git remote -v
查看代码下载的网络地址(remote 是从远程下载到本地的)
git status
查看工程中文件状态(有么有修改没提交的啊之类的)
cat .gitignore
查看被忽略的文件(在文件.gitignore中配置)
git diff/git diff --staged //比较工作区域和临时区域
git diff --cached //比较临时区域和本地仓库
vim 文件名
编辑文件内容
cat 文件名
查看文件内容
git rm 文件名
删除索引区文件
git checkout -- 文件名
找回索引区被删除文件
git log
查看日志
git whatchanged
查看哪些已修改
git push/pull/fetch
将本地仓库内容推送到远程仓库/将远程仓库内容拉取到本地仓库并合并/将将远程仓库内容拉取到本地仓库但不合并,即新建一个分支
git branch
查看分支
git remote
查看远程仓库
git branch 分支名
新建分支
git checkout 分支名
切换分支
git merge "注释" HEAD 分支名
合并分支到当前最新的分支
git tag -a 标识名 “注释”
加标识便于恢复
--git和svn区别
速度
在很多情况下,git的速度远远比SVN快
结构
SVN是集中式管理,git是分布式管理
其他
SVN使用分支比较笨拙,git可以轻松拥有无限个分支
SVN必须联网才能正常工作,git支持本地版本控制工作
旧版本的SVN会在每一个目录置放一个.svn,git只会在根目录拥有一个.git
git reset id
----id是提示错误的commit id的上一条id
android studio中使用Git,鸿洋的一篇文章足以 详细讲解Android Studio中使用Git
Git提供了一个命令git reflog
用来记录你的每一次命令:
No1:
回撤场景:
场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout -- file
。
场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD <file>
,就回到了场景1,第二步按场景1操作。
场景3:已经提交了不合适的修改到版本库时,想要撤销本次提交,HEAD
指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令git reset --hard commit_id
,不过前提是没有推送到远程库。
No2:
合并某分支到当前分支:git merge <name>
删除分支:git branch -d <name>
No3:
当手头工作没有完成时,先把工作现场git stash
一下,然后去修复bug,修复后,再git stash pop
,回到工作现场。
No4:
如果要丢弃一个没有被合并过的分支,可以通过git branch -D <name>
强行删除。
No5:
-
rebase操作可以把本地未push的分叉提交历史整理成直线;
-
rebase的目的是使得我们在查看历史提交的变化时更容易,因为分叉的提交需要三方对比。
No6:
-
命令
git push origin <tagname>
可以推送一个本地标签; -
命令
git push origin --tags
可以推送全部未推送过的本地标签; -
命令
git tag -d <tagname>
可以删除一个本地标签; -
命令
git push origin :refs/tags/<tagname>
可以删除一个远程标签
No7:
给git命令起别名
git config --global alias.co checkout
No8:
修改远程仓库地址
git remote set-url origin [url]
No9:
删除本地分支
git branch -d <BranchName>
删除远程分支
git push origin --delete <BranchName>
No10:
打tag:
git tag -a <版本号> <SHA值> -m "<备注信息>"
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现