| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 开发工具 -> 工具篇:Git与Github+GitLib常用操作(不定期持续更新) -> 正文阅读 |
|
[开发工具]工具篇:Git与Github+GitLib常用操作(不定期持续更新) |
工具篇:Git与Github+GitLib常用操作(不定期持续更新)前言:写这个主要是打算自己用的,里边很多东西都是只要我自己看得懂,但是用了两个星期发现真是越用越简单,越用越好用,私以为得到了学习使用git的精髓,觉得按照自己这个顺序用起来还是很舒服的. 其实一开始这里边只有一点,用着用着就慢慢变多了. 在这个博客里放了很多链接,这些都是当时我遇到问题搜一下通过链接里博客的内容解决了的,私以为非常好用,也很感谢写这些博客的博主,帮我节省了很多时间. 这个博客目前针对以下应用场景可能效果更佳:
一小段大白话话总结git与github,gitlab等的区别注:这些话是为了让大家快速看懂,可能不规范,但是很易懂,用到后边会自己修正过来的. git是本地的代码仓库,存代码的,只要提交就会保留历史版本,也可以开分支(目前可以理解为复制文件夹,改个名字,从里边改代码),在git里切换分支(就像切换文件夹)只需要输入指令,比鼠标点起来快.也可以退回到之前写过的版本,也是用指令,用几次就比鼠标用着舒服了(亲测有效). github是远程的代码仓库,相当于又搞了一台电脑,复制了本地那个代码仓库文件夹里的信息,这样大家只要都连到github上(像是个公用的电脑),就能获得里边的文件,修改文件(相当于一个共享文件夹,可以和n个人共享), gitlab这个"大共享文件夹"暴漏在大街上,路过的人都能看到它,都能下载里边的东西.gitlab也是给大的共享文件夹,不过在家里,只有家里人能看到,能往文件夹里放东西. gitee(码云)和github一样,github是全球的,gitee是国内的. git一小段大白话话总结安装为什么要用那些东东,为什么安装环境可能提示少东西或者是出错
安装windows 安装https://git-scm.com/downloads 去官网,非常方便下载,记得把添加到环境变量勾选上 ubuntu安装
git与github配置git免密登录windowshttps://blog.csdn.net/jamieblue1/article/details/98481846 ubuntu先安装sshhttps://cloud.tencent.com/developer/article/1751149 然后配置https://blog.csdn.net/selous/article/details/77583933 一般linux系统下有用户的概念,比如说root用户和普通用户不是一个用户,root的ssh文件也放在 我一般喜欢上来就 搜了一下发现是root用户没有ssh公钥,所以下载不了, 解决方式很简单,按照上述普通用户的来一遍,把root的ssh公钥再加到github里就好了 git操作项目上传与下载-1一开始用这几个命令是基本上够用的,后边遇到问题顺着自然就解决了. git pull 命令 | 菜鸟教程 (runoob.com) 上传大致分三步,添加,提交,把本地分支传到指定远程地址的指定分支
下载比如说我在本机上上传了,在虚拟机上下载,可以这样
大概这几个用法就可以满足项目上传下载,合并分支,基本上就够我满足绝大部分使用需求了 git版本控制版本回退[Git如何版本回退? - 腾讯云开发者社区-腾讯云 (tencent.com)](https://cloud.tencent.com/developer/article/1483845#:~:text=每个记录都有一个与之对应的commit id,所以可以使用命令git reset --hard,commit_id来回退到相应的版本。 除此之卡,在Git中,使用HEAD来代表当前版本,如需回退到前一个版本,可以使用命令git reset --hard HEAD^,前两个版本则用HEAD~2表示,以此类推。) 有时候手残或者是脑子抽抽了,一顿乱写,发现把代码改废了,这个时候可以把版本往前退一下
? 会这么一手,就很舒服,后边用git再折腾的时候,就不担心把原来的代码玩坏了,因为可以随意重置. 安装gitlab.gitignore日常使用的时候,一开始加不加.gitignore都没啥事,但是,后边多用几次发现还是挺难受的. 比如说我在ubuntu上边运行一个pycharm,在windows下运行一个pycharm,树莓派上边运行一个pycharm,这三个里边都有一个虚拟环境(有时候虚拟环境还比较大),还有.idea的配置文件,这个时候,如果我无脑把所有东西都push过去,再下载,就会比较难受,pull下来之后肯能还会破坏掉原来的虚拟环境 在git里,其实是可以选择忽略一些文件不上传的,我们只需要把忽略的文件或者是文件夹写到.gitignore里边就行. 写法其实也很简单, 对于常用的gitignore模板,可以去下载一个插件, (45条消息) pycharm之gitignore设置_zt3032的博客-CSDN博客 这个插件提供一些python不同架构下通用的模板,在模板之上加自己的东西就好了 .gitignore的生效机制: (45条消息) Git忽略文件.gitignore详解_ThinkWon的博客-CSDN博客_忽略gitignore本身 gitignore详细配置: [Git].gitignore文件的配置使用 - 知乎 (zhihu.com) Git忽略文件.gitignore的使用 - 简书 (jianshu.com) gitignore模板: GitHub - github/gitignore: A collection of useful .gitignore templates gitignore插件: (45条消息) pycharm之gitignore设置_zt3032的博客-CSDN博客 我的工程到这里我的工程文件夹里显然有这么几个想要git不同步过来的文件, 这个时候 把它删了,然后强行push上去之后,代码就整洁多了 这里有点小瑕疵,就是删了一些之后,那个git commit的信息有点乱,不过问题不大,后续再改代码一点点往里边加就好了. 在使用的时候意外摸索出了一个还不错的方法,赶时间的时候写点屎山先把功能实现了,后续开一个新的分支再慢慢优化,优化完了再把原先的屎山的分支删掉. gitignore只能忽略那些原来没有被 track 的文件,到这里一般是已经有好多不想要提交上去的文件被track了,这时候清除本地缓存后再提交就好了, (45条消息) IDEA .gitignore 无法生效_wisdom-chen的博客-CSDN博客_idea ignore不生效 git代码冲突-1解决Git中fatal: refusing to merge unrelated histories-阿里云开发者社区 (aliyun.com) 刚开始用git,难免乱开分支,或者是写出很多屎山,这时候看着这么多屎山分支比较烦,但是直接上传修改会有版本冲突,而且明显是删除了更好,这时候就可以强行合并了 强行把本地分支的代码推到远程仓库分支
强行行合并: git上传与下载-2遇到冲突强行pull的方法之一:有这样一个场景,我在本机上开了一个pycharm写代码,很爽. 但是我云服务器有一个,虚拟机有一个,树莓派有一个,这些都是要我把代码放过去运行的. 而且在电脑上写完了代码,不能调试,要放到对应的平台区调试测试,这个时候使用上述那些操作可以愉快的上传下载. 但是这个时候我突然不小心给某个文件加了权限,或者是改了一下,我在本机上又写好了代码,我把代码push到仓库,再从仓库pull, 这时候发现另一个平台上报错,说本地的代码没commit,但是我不想保存那些,因为那不是我想改的代码 这个时候就可以用到之前的reset,把版本回退,然后再pull就好了,有些版本是本地有但是仓库里没记录的,只要跳回到有仓库记录的版本再pull就不会冲突了.
先看一下之前的版本,看这个head会指向自己在的版本和分支 如果是没保存,head会处于游离状态
强行上传:直接push --force 到远程仓库有时候两端改来改去,电脑又懒得来回pull,比如说开着vnc或者是某些能同步文件的软件,只改一小点来回复制还是最方便的,复制完了提交可能会说有些commit没和云端同步,这个时候特别备注一下再提交其实也蛮方便,但是因为冲突,所以选择强制提交.
git与Gitlab有一说一,这软件真不小,还是很吃内存的 安装这个试了一上午,终于装好了,网上各种版本众说纷纭,在这里结合一下并简单说一下我知道的原理,如果后续看我这个跟着来安不上了,通过大致的原理,改几个地址啥的应该就行了. (45条消息) Ubuntu GitLab仓库服务器搭建 No command ‘deb‘ found, did you mean(转载)_斗转星移3的博客-CSDN博客 gitlab-ce | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror gitlab是一个软件,主要在linux平台上运行, linux环境需要提前准备一些包,然后再装gitlab 我尝试直接从官网上按照操作下载,在最后一步安装的时候提示我找不到包, 然后从国外的服务器上下载也比较慢,于是从清华源上下载 按照那个运行一遍,出问题了再运行这个.
gitlab-ce | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror 底下这个还是要去镜像官网去看,指不定哪天更新一下就换掉了,官网链接附在上边~ 在里边写入
一般会安装最新版的,我这个下载的时候有一个G,正好趁着下载刷一会电影~ 启动gitlab初始化,这初始化比较耗时,可以趁着这个时间继续看一会电影~
启动
然后就可以通过电脑的ip地址访问了 遇到的问题运行gitlab之后再从虚拟机上开pycharm卡死,原来是gitlab和pycharm都比较吃内存,关闭虚拟机,开机前把4G的内存改成6G就行了. gitlab简单配置我的root密码:
https://blog.51cto.com/u_15065852/4106847 (45条消息) Gitlab实战3:Gitlab用户注册及管理_yanqs_whu的博客-CSDN博客_gitlab注册用户审核 gitlab开机启动|启动 停止 重启 - 豆浆D - 博客园 (cnblogs.com) [(45条消息) gitlab 项目加人_Mandy。的博客-CSDN博客_gitlab拉人进项目](https://blog.csdn.net/weixin_43751840/article/details/89234503#:~:text=进入项目后选settings,然后点members就能进入项目成员界面 之后选择Select members,to invite 就可以加人了) (45条消息) git修改remote地址_FromNowOnUntilTheEnd的博客-CSDN博客_git 修改remote gitlab与git基本上用起来和github差不多,不再赘述. 好处是连不到互联网用内网也能用,很舒服. |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/25 22:54:57- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |