Git使用详解(结合GitLab和GitHub)

这里写图片描述

2.创建远程仓库。

在GitLab上点击"New Project",之后键入项目名,其它选项默认即可,点击"Create project"按钮即可完成创建。

这里写图片描述

3.将本地仓库连接推送到远程仓库。

在项目目录下打开Git Bash,键入"git remote add origin <远程仓库地址/SSH>"命令。

这里写图片描述

4.将代码提交到本地仓库中。

使用"git add ."命令添加所有文件,使用"git commit -m <提交日志信息>"命令将代码提交到本地仓库。

这里写图片描述

5.将代码提交到远程仓库。

键入"git push -u origin master",这是第一次提交时用的命令,之后再提交的话使用简化命令"git push"即可。

这里写图片描述

此时我们再去远程仓库上刷新一下,就能看到我们刚刚提交上去的文件了。

这里写图片描述

四、从远程仓库克隆代码到本地。

先找到项目Git地址或SSH,如下图,点击链接后面的复制按钮:

这里写图片描述

我们新创建一个项目目录,打开Git Bash,键入"git clone 远程仓库地址/SSH"命令,回车,就可以将项目克隆下来了。

这里写图片描述

五、分支管理

1.创建分支。

我们刚刚已经将代码提交到GitLab远程仓库了,默认的话会提交到项目的主干目录,如下图。这时候我们点击项目名后面的加号,会出现下面的弹窗,然后点击New branch按钮。

这里写图片描述

之后在下面的界面中输入分支的名字,另外你可以选择Create from的来源,这会决定从哪个分支进行创建,我这里用了默认的master主干目录,点击Create branch按钮即可创建分支。

这里写图片描述

这时候再来看项目的分支目录,可以看到,除了默认的master主干目录,现在多了一个version_1.1分支目录,你也可以点进去查看一下详细信息,该目录的创建源是主干目录,所以你会发现目录中的内容和master主干目录完全一致。

这里写图片描述

2.切换分支。

创建完新的分支后,我们首先需要执行"git pull"命令将变更内容拉下来。现在我们已经有master个version_1.1两个分支了,目前我们本地仓库是master主分支的,现在我们要切换到version_1.1分支,使用的是"git checkout 要切换的分支名"命令,如下图,可以看到,我们成功从master分支切换到了version_1.1分支,当然,如果你想再切回主干分支,则使用"git checkout master"命令,你可以去尝试切换一下。

这里写图片描述

3.合并分支。

使用分支这个功能另外一个很重要的操作就是分支的合并,你可以任意将代码从某一分支合并到另一分支,那么就让我们一起来学习一下这部分内容:

刚刚我们已经切换到version_1.1分支了,不妨就直接在这个分支中改动一些内容,然后将代码合并到master分支。

我在当前分支目录下的README.md文件中改动了些内容,并增加了code3.txt文件,我们依次执行"git add ."、“git commit -m <提交日志>”、“git push"命令三部曲来将代码提交到远程仓库(相信这部分大家已经很熟练了)。

此时我们再执行"git checkout master"切换到主干目录,可以看到文件发生了一些变化:我刚刚的改动都不见了!这就代表你已经成功切换到master目录。

接下来就到关键的合并步骤了,使用"git merge 分支名"命令合并某分支到当前分支:

这里写图片描述

可以看到,本地代码发生了变化,在version_1.1分支下的改动都合并到了当前的master主干目录下。有一点你必须清楚的是,改动只是发生在了本地,而本地仓库和远程仓库都没有发生变化,此时你仍需要执行命令三部曲"git add”、“git commit”、"git push"来将合并后的代码提交到远程仓库。此时你可以发挥你举一反三的能力了,试着在主干目录改动代码并将代码合并到分支目录吧。

六、GitLab配置SSH key。

1.首先我们这里说明一下,我们为什么要使用SSH协议呢?因为SSH更加安全,然后更加方便,比如我们的GitLab由http协议换成了https协议,那么如果你是使用http协议管理代码,那么需要修改所有的项目中的git地址变成https,这简直是太繁琐了!但是如果我们一开始就是用SSH协议,这不需要任何的修改。
2.现在我们这是开始进行配置,打开Git Bash窗口,使用命令(ssh-keygen -t rsa -C ‘xxx@xxx.com’)生成SSH公钥和私钥对,-C参数是你的邮箱,然后一路回车,使用默认值即可。然后你就可以在用户主目录里找到.ssh目录(比如Windows就是C:\Users\Administrator),里面有id_rsa和id_rsa.pub两个文件,这两个就是SSH KEY的秘钥对,id_rsa是私钥,不能泄漏出去,id_rsa.pub是公钥,可以放心地告诉任何人。
3.在GitLab中进行SSH KEY的配置。可参考下图,将上一步中生成的id_rsa.pub文件中的内容粘贴到Key的输入框中,然后再自定义一下Title,点击"Add key"即可。

这里写图片描述

4.相信现在你已经配置好并可以正常使用了,这里在额外说明一下关于本地配置多个SSH KEY的问题。想一下这样的场景,大多数时候,我们的机器上会有很多的GIT HOST,比如GitLab、Github、OSChina等,那我们就可能需要在本地配置多个SSH KEY,使得不同的HOST能使用不同的SSH KEY。

当然,其中一种解决方案就是所有的GIT HOST都使用同一个邮箱,由于邮箱是识别的唯一手段,那么自然的,这两者采用同一个邮箱,生成的public key也会是同一个,上传到 Github 或者 Gitlab 上面,在 Git 的配置中 ,设置好 Global 的配置 :git config --global user.name ‘mythmayor’ && git config --global user.email ‘mythmayor@163.com’ 进行日常的开发是没有问题的。

但在实际开发中采用同一个邮箱的可能性并不是太大,这就引出了方案二,做法如下(以GitLab和Github为例):

(1)为GitLab生成一对秘钥SSH KEY

ssh-keygen -t rsa -C ‘yourEmail1@xxx.com’ -f ~/.ssh/gitlab-rsa

(2)为Github生成一对秘钥SSH KEY

ssh-keygen -t rsa -C ‘yourEmail2@xxx.com’ -f ~/…sh/github-rsa

(3)在~/.ssh目录下新建名称为config的文件(无后缀名)。用于配置多个不同的host使用不同的SSH KEY,内容如下:

gitlab

Host gitlab.com

HostName gitlab.com

PreferredAuthentications publickey

IdentityFile ~/.ssh/gitlab_id-rsa

github

Host github.com

HostName github.com

PreferredAuthentications publickey

IdentityFile ~/.ssh/github_id-rsa

配置文件参数

Host : Host可以看作是一个你要识别的模式,对识别的模式,进行配置对应的的主机名和ssh文件

HostName : 要登录主机的主机名

User : 登录名

IdentityFile : 指明上面User对应的identityFile路径

(4)按照上面的步骤分别往gitlab和github上添加生成的公钥gitlab_id-rsa.pub和github_id-rsa.pub。

(5)OK,大功告成,再次执行git命令验证是不是已经不需要再次验证权限了。

(6)再次查看~/…ssh目录下的文件,会有gitlab_id-rsa、gitlab_id-rsa.pub和github_id-rsa、github_id-rsa.pub四个文件。

七、GitLab删除项目。

为什么要单独提一下这个操作呢?因为删除项目的入口比较深,我第一次使用的时候也是找了一会才找到了删除的操作。

首先我们来到项目Settings的Genaral下,然后可以看到Advanced选项,点击右面的Expand按钮。

这里写图片描述

向下翻到最后,你会看到Remove project这一项

这里写图片描述

点击Remove project按钮,会出现下面的弹窗,这时候在输入框中重新键入项目名(图中标红框的名字),填写正确的话Confirm按钮会变成可点击的状态,此时点击按钮即可删除项目。

这里写图片描述

八、个人Git常用命令。

(ssh-keygen -t rsa -C ‘xxx@xxx.com’) 生成SSH公钥和私钥对

(git remote add origin <远程仓库地址/SSH>) 将本地仓库连接推送到远程仓库

(git push -u origin master) 第一次提交代码到远程仓库

(git clone <远程仓库地址/SSH>) 从远程仓库克隆代码

(git diff) 查看本地代码差异

(git status) 查看本地代码状态

(git log) 查看提交历史日志,后面加上–pretty=oneline会输出简化日志

(git reflog) 查看每一次命令记录日志

(git add .) 添加代码到本地仓库

(git commit - m <提交信息>) 提交代码到本地仓库

(git push) 提交代码到远程仓库

(git pull) 从远程仓库拉取代码

(git branch) 查看分支

(git branch <分支名>) 创建分支

(git checkout -b <本地分支目录> <origin/远程分支目录>) 创建并切换到分支目录

(git checkout <本地分支目录>) 切换到分支目录

(git checkout master) 切换到主干目录

(git merge <分支名>) 合并某分支到当前分支

(git cherry-pick <commit_id>) 合并某分支的某次提交到当前分支

(git reset --hard <commit_id>) 版本穿梭,HEAD指向当前版本

(git branch -d <分支名>) 删除分支

(git stash) 暂存本地修改

(git stash pop) 拉取暂存本地修改

(git stash clear) 清空暂存本地修改

(ls) 列出当前目录下的所有文件

九、常见问题。

1.在合并时可能会报下面的错误:Please enter a commit message to explain why this merge is necessary.

在这里插入图片描述

解决方案:

1.按键盘上的“i”键可进入插入模式

2.这时可以修改最上方的黄色部分,改成你想写的合并原因

3.按键盘上的“Esc”键退出插入模式

4.最后在最下面输入":wq"后按回车键即可
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则近万的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

img

img

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:Android)

学习福利

【Android 详细知识点思维脑图(技能树)】

其实Android开发的知识点就那么多,面试问来问去还是那么点东西。所以面试没有其他的诀窍,只看你对这些知识点准备的充分程度。so,出去面试时先看看自己复习到了哪个阶段就好。

虽然 Android 没有前几年火热了,已经过去了会四大组件就能找到高薪职位的时代了。这只能说明 Android 中级以下的岗位饱和了,现在高级工程师还是比较缺少的,很多高级职位给的薪资真的特别高(钱多也不一定能找到合适的),所以努力让自己成为高级工程师才是最重要的。

这里附上上述的面试题相关的几十套字节跳动,京东,小米,腾讯、头条、阿里、美团等公司19年的面试题。把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节。

由于篇幅有限,这里以图片的形式给大家展示一小部分。

网上学习 Android的资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。希望这份系统化的技术体系对大家有一个方向参考。

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

跳动,京东,小米,腾讯、头条、阿里、美团等公司19年的面试题。把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节。

由于篇幅有限,这里以图片的形式给大家展示一小部分。

[外链图片转存中…(img-9SaFvRie-1713369734300)]

网上学习 Android的资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。希望这份系统化的技术体系对大家有一个方向参考。

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

  • 21
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值