2022/12/3 —— Git学习记录
因个人原因在广州呆了一个学期,回学校后疯狂补作业和报告还有应付期末考试
离下一次考试还有五天,最后一天再复习嘻嘻。今天咱们学Git的一些基本操作,虽然之前用过但没系统学过,都忘了。
接下来打算复盘之前做过的两个项目为就业做准备,后续不定期更新纯纯的学习记录,按照宁一姐说的那啥以教促学
在猫宁一公众号学习的GitHub基本操作 宁一姐的教程链接
以程序员做饭指南为例,程序员YYDS!哈哈
本文导航
1.安装Git
这里的学自廖雪峰老师的博客
廖雪峰官方链接
Linux安装Git
sudoapt-getinstallgit
Mac OS上安装Git
直接从AppStore上安装Xcode,Xcode上集成了Git,不过默认没有安装,选择菜单“Xcode”->“Preferences”,在弹出窗口到“Downloads”,选择“Command Line Tools”,点“Install”就可以完成安装了。
Windows上安装Git
- 到Git官网下载即可
- 安装后的配置
git config --global user.name "用户名"git config --global user.email "邮箱地址"
2.本地创建版本库(仓库)
什么是版本库呢?版本库又名仓库,英文名repository,你可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改、删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以“还原”。
- 创建一个空目录
mkdir Hello_Git
cd Hello_Git
pwd#显示当前的绝对路径
- 告诉Git 把这个空目录变成Git可以管理的仓库
git init
成功功后显示
Initialized empty Git repository in"路径"
- 在Hello_Git目录下创建一个readme.txt文件> 使用Windows系统的注意不要用系统自带的文本编辑器来编写.txt文件,可能后面运行项目会有BUG
touch readme.txt
- 然后用上面我们说过的基本操作命令行了
gitadd readme.txt #将readme.txt文件添加到缓存git commit -m"这是一个学习记录"#将缓存区的内容添加到仓库
> 成功后会显示这些提示信息,告诉俺们有几个文件改动,加入了几行> > 1 file changed,num insertions(+)> > create mode 100644 readme.txt
3.在GitHub创建存储库
没有账号的先建一个账号吧 GitHub
- 创建存储库
点击GitHub页面右上角头像 --> 点击Your repositories(存储库的英文好长啊O.O)
–> 点击NEW -->写一下仓库名称,选Public就可以创建啦!
4.生成SSH KEY
本地Git仓库和GitHub仓库之间的传输是通过SSH加密的,所以必须要让github仓库认证本地电脑的SSH key。我们需要在本地生成SSH key
宁一姐的原话O.O
- 首先进入咱们之前创建好的仓库目录
cd"路径"
- 而后生成SSH KEY
ssh-keygen -t rsa -C 注册github用的邮箱 #注意后面那个C要大写#成功后你会看到这些Enter passphrase (empty for no passphrase):#设置密码直接回车Enter same passphrase again:#回车Your identification has been saved in C:\Users\Administrator/.ssh/id_rsa.Your public key has been saved in C:\Users\Administrator/.ssh/id_rsa.pub. #你密码的存储路径The key fingerprint is:xxxThe key's randomart image is:+---[RSA 3072]----+| o|| E o + .o||. o o .|| o o B = o *o..|| o * S ooo..|| o.+.o o|| +o .|| .o |+----[SHA256]-----+
- 然后根据SSH KEY的存储路径查看并复制密码
cat 路径 #路径在生成SSH KEY时候页面有显示喔"Your public key has been saved in:"#Windows下可以直接找到那个文件夹打开,也可以在开始处搜索git bash,在那里就可以运行这个命令了
- 将SSH KEY 部署到GitHub> 点击GitHub页面右上角头像 --> 点击Settings --> 点击左边的SSH AND GPG KEYS -->然后建立一个新的SSH KEY --> title随便填,密码把之前复制的密码粘贴进去
进行到这儿,准备工作就做完啦!开始上传下拉吧!
5.本地上传与云端下拉
远程连接GitHub
首先咱们之前在GitHub创建的仓库是空的,咱们先打开那个仓库可以看到code页面让俺们上传一些东西,复制那个链接。或者直接执行下面那行圈起来的命令
git remote add origin 复制的链接地址 git remote #查看当前连接的仓库别名
本地代码提交到GitHub的仓库
这里就要用到写到的刚开始的Git基本命令
首先将待打包上传的项目复制到咱的本地仓库,而后进入项目文件夹目录,可以随便选个程序来做测试,我这里是用的大二的课设来做测试。然后
gitadd.#将当前目录下的所有文件的都放到缓存空间git commit -m"智能小车硬件源码V1.0"#将缓存空间的所有文件放到仓库git push -u origin master #上传到GitHub仓库 其中origin是仓库别名,#master是仓库下的分支名
然后我们刷新一下GitHub页面,会发现我们想上传的文件都上传上来了!
- 云端下拉刚刚上传的项目(这里的图片都在下面哈O.O)
与本地上传时操作差不多,复习一遍!
ssh @用户名 云服务器公网IP #远程连接云服务器mkdir IntelligentCar_V1.0 #创建一个目录也就是本地仓库,后面那个是目录名cd IntelligentCar_V1.0 #进入刚刚创建的目录git init #告诉git,这个目录归咱管了
ssh-keygen -t rsa -C 注册github用的邮箱 #生成SSH KEYcat 保存SSH KEY的文件路径 #复制打印出来的密码
然后咱就去GitHub上点击头像 --> 点击Settings --> 点击左侧的SSH and GPG keys --> 创建新的SSH KEY 具体操作与上面一样的,可以看上面的喔
在GitHub上打开咱们刚刚上传的项目 --> 点击Code -->点击SSH方式 复制那个链接
git remote add origin 复制的链接地址 #连接GitHub的仓库;其中origin是仓库别名,可自命名git pull origin master #下拉到当前目录;其中origin是仓库别名,master是仓库下的分支名ls#查看是不是下载下来了
远程连接云服务器
选择SSH方式
生成SSH KEY、连接远程仓库、pull下载到指定目录
查看是否下载成功
6.克隆项目并创建新分支更新项目
这里我们克隆下项目并且修改后再提交,即更新项目,提供两个项目链接
程序员做饭指南
智能小车硬件源码
- 打开程序员做饭指南点击fork(克隆)到自己的仓库
- - 选择SSH方式
- 克隆到本地
git clone 链接地址
- 用sublime打开HowToCook文件夹,在dishes目录下的某个分类里创建一个新的菜单(记得复制模板,以及不要有太多空行!!!)
- Readme.txt处添加该菜单路径,即目录
- 上传到GitHub
cd HowToWook #进入项目目录gid add.#将当前路径下的所有文件防止缓存空间git commit -m"添加蛋煎糍粑菜谱"#将缓存空间文件放置仓库git push origin master #上传
- 打开GitHub原项目,点击Pull requests
- 点击New pull request
- 打开分叉,在head repository选择自己刚刚上传的分支
- 签署协议,查看协议后点击Create pull resquests
- 可以看到审核的地方有我们的申请了
7.总结
经过这些操作,一些基本基本操作应该如下
- 创建一个目录也就是本地仓库
- git init #告诉git这是本地仓库归你管
- ssh-keygen -t rsa -C注册github用的邮箱 #生成SSH KEY
- 将生成的SSH KEY保存在github的设置中
- gitadd 文件名 #将要上传的文件放到缓存空间
- gitadd.#将当前目录下的所有文件放到缓存空间
- git commit -m"备注信息"#将缓存空间的所有文件放到仓库
- git remote add origin 链接地址 #连接远程仓库
- git push -u origin master #将仓库里的文件上传到GitHub指定仓库的分支,定义仓库别名为origin,分支名为master
- git pull origin master #将别名为origin仓库下的master分支的文件下载到当前目录
- git clone 项目链接 #克隆项目到本地
要好好生活~
天天开心呀~
版权归原作者 学会微笑的疯子 所有, 如有侵权,请联系我们删除。