git日常用法
1、常用命令
git pull<远程主机名><远程分支名>:<本地分支名>
git push<远程主机名><本地分支名>:<远程分支名> , 和git pull 都是 src:dest
git fetch<远程主机名><分支名>其实就是拉去远程分支到本地版本库,然后再使用 git merge
git merge 合并分支,将 合并到当前所在的分支, 比如git merge master ,将本地master与自己的分支合并,比如git merge origin/branch ,就是将远程的origin/branch 与本地的分支合并 , 比如不自动commit,可以git merge--no-commit 。 其实git merge 可以一次合并多个分支,比如git mergeorigin/ 其实就是管你远程和本地了全部合到我的分支上。
git diff 在两个分支之间比较
git diff--cached 比较git add. 与工作区之间的比较 , 也就是本地暂存区与工作区之间的比较
git diff 工作区 vs 暂存区 git diff head 工作区 vs 版本库 git diff –cached 暂存区 vs 版本库
git reset--mixed 将暂存区的分支直接回到到工作区, 也就是比如git add. 你想回退到本地,直接 `git resrt --mixed
git reset--mixed HEAD~1 回退一个版本,比如你本地commit/远程已经push了,那么你本地和远程是一样的,如果你想回退一个版本,此时需要reset操作,主要是解决回退的操作,上面就是commit一次后需要回退一个版本,所以是HEAD 1 , 比如commit了两次就是HEAD~2 , 此时有4种选项,一般分为--hard 和--mixed ,--soft ,--hard 硬reset,回退回来你的这次修改全部没有了,也就是直接回到了上一个版本,而--mixed 回退到你没有git add. 操作的时候,--soft 是回退到你git add. 操作完后的时候。 看需求吧。一般只用--hard 和--mixed .
git commit--amend 主要是处理 你git commit-m"" 想要修改 commit的desc/comment了。
git rm-r--cached. 比如修改了 gitignore ,但是其实你的版本库/暂存区是没有 ignore的,所以需要直接删除 暂存区的缓存。
git rm file 也就是删除本地开发的一个文件,硬删除,直接删没了,回退也需要硬回退。
git checkout. 清空本地所有修改的代码
git checkout-b 将本地的这个分支,checkout 出一个新的分支,名字为git checkout-borigin/ ,将远程的 分支上 checkout一个新的本地分支名字为`
有些场景可能需要打tag,所以一般是 git pull ,拉去远程的所有代码(记得切换到master上),然后git tag 查看tag 历史,创建一个新的tag ,比如git tag v1.1.0 ,然后直接推送到远程git push origin v1.1.0 就好了(一般是别人给你合master了,上线可能需要打新的tag)
文件权限 发生变更需要配置:git diff old mode 100644 new mode 100755 的问题 :需要设置 git config --add core.filemode false
git log-p README.md 查看文件的变更详细历史,git log 查看文件的变更历史,另外有可能查看某一行的变更,这个是指你没有ide的情况下,所以需要指定 ebike-**** git:(master) cat -n cmd/main.go 1 package main 2 3 import ( ## ........ 18 ) 19 20 func main() { # ...... 24 // 启动RocketMQ 25 rq.RocketmqInit() ## ...... 53 r.Run(fmt.Sprintf(":%s", host)) 54 } 55 ## ............. 83 }
然后 ebike-op-helios git:(master) git log -L 25:cmd/main.go
git shortlog-sn 查看提交者
git submodel add remote_addr local_dir 子模块# 将远程项目https://github.com/maonx/vimwiki-assets.git克隆到本地assets文件夹。 git submodule add https://github.com/maonx/vimwiki-assets.git assets 2、子模块
有种情况我们经常会遇到:某个工作中的项目需要包含并使用另一个项目。 也许是第三方库,或者你独立开发的,用于多个父项目的库。 现在问题来了:你想要把它们当做两个独立的项目,同时又想在一个项目中使用另一个。
文档:Git-工具-子模块
1、在父项目新建子模块 git submodule add https://github.com/chaconinc/DbConnector ./submodule/DbConnector
2、提交子模块 如果在父项目(父项目无任何变更)中提交子模块,会出现: test-dir git:(master) gitpush master On branch master Your branch is up to date with "origin/master". Changes not staged for commit: modified: submodule-01 (modified content) no changes added to commit Everything up-to-date父项目更更提交 (可以提交变更,但是子项目并没有提交) test-dir git:(master) gitpush master [master f00fa83] fanhaodong 提交与2021-03-08 15:54:09 1 file changed, 1 insertion(+) ## ...... To gitee.com:Anthony-Dong/parent-report.git 53487e2..f00fa83 master -> master提交子项目(需要切换到子项目目录,然后切换到父项目提交) submodule-01 git:(master) gitpush master [master 969f9ea] fanhaodong 提交与2021-03-08 15:52:08 ## .... To gitee.com:Anthony-Dong/submodule-01.git 6ac8e7d..969f9ea master -> master test-dir git:(master) gitpush master [master 53487e2] fanhaodong 提交与2021-03-08 15:52:12 1 file changed, 1 insertion(+), 1 deletion(-) ## .... To gitee.com:Anthony-Dong/parent-report.git 14e259d..53487e2 master -> maste
问题就是,提交流程过于复杂!! 参考ProGit, 最好的Git指南 Advanced Git Git and GitHub Secrets GIT子模块
西南证券数字经济进行时全面利好计算机西南证券认为,数字经济是国家层面的战略重点,伴随顶层规划的出台,后续法规政策亦将逐步落地,数字化将成为十四五期间全产业的核心发展主线,计算机行业迎来全面利好,相关国产软件厂商有望率
Intel2022最新款微型迷你主机发布,电脑产业革命开始虎年有娱Intel近日表示,将在2022年推出全新一代NUC主机,将搭载十二代酷睿处理器和Arc独立显卡,将会至少拥有三个型号DragonCanyonSerpentCanyonAl
腾讯元宇宙再落子收购黑鲨已到最后阶段?本报记者陈佳岚广州报道互联网大厂正在加码硬件领域。黑鲨科技以其推出的游戏手机产品在专业游戏手机市场上有着一定知名度,凭借着小米腾讯两大靠山,加上强悍的硬件配置和散热能力,其产品受到
日媒超导输电在日本进入实用化阶段据日本经济新闻1月13日报道,可将输电损耗几乎降至零的超导输电已进入实用化阶段。日本铁道公司(JR)的研究机构开发出成本大幅缩减的世界最长输电线,铁路公司正在考虑采用。欧洲和中国也
人车通最大运动健康科学实验室开放,驱动智能呼啦圈产品持续创新相信大家都知道智能呼啦圈,这是对传统呼啦圈的一种升级产品。随着科技的进步,很多东西都已经变成智能化,呼啦圈也不例外,这款智能呼啦圈不能达到瘦身减肥的效果,还有解决亚健康的功效。下面
小米12Ultra最新消息搭载高像素5倍潜望长焦摄像头今日微博博主数码闲聊站透露,接下来有多款国产新机将采用5倍潜望式超长焦方案。目前来看,代号L1的小米12Ultra,搭载的高像素5长焦成像相对更好。不仅如此,这款手机也有自己操刀的
knx智能照明系统为智慧城市建设添砖加瓦安科瑞于洋陈聪功能AcrelBus智能照明控制系统(以下简称系统),是基于KNX总线技术设计的控制系统。KNX总线技术起源于欧洲,是在EIBBatibus和EHS这三种住宅和楼宇的
5G初始接入流程初始接入过程对于UE连接到网络来说是非常重要的过程,并且该过程涉及几个步骤。从物理层角度看,初始接入的核心步骤包括PSSSSS检测PBCH和其他系统信息解码以及PRACH流程。NR
PLC编程的五个层级我知道写这个肯定会引来争议,但我的目的不是为了形成PLC编程的鄙视链,而是对我这么多年编程心得的一个总结。同意的话您就点个赞,不同意的话就一笑而过。L1套用继电器控制方法,最典型的
PHP读取文件内容的五种方式读取文件内容的五种方式分享下php读取文件内容的五种方法好吧,写完后发现文件全部没有关闭。实际应用当中,请注意关闭fclose(fp)php读取文件内容第一种方法fread()lt
华为Mate50或4月底发布,规格被曝光,价格成最大悬念鉴于目前这种情况,华为想要顺利地推出一款新旗舰,确实很有难度,不过外界还是十分期待接下来余承东能够拿出更具说服力的产品。虽然官方还没有任何关于华为Mate50系列的消息,但是外媒P