2022/12/3 —— Git学习记录
因个人原因在广州呆了一个学期,回学校后疯狂补作业和报告还有应付期末考试
离下一次考试还有五天,最后一天再复习嘻嘻。
今天咱们学Git的一些基本操作,虽然之前用过但没系统学过,都忘了。
接下来打算复盘之前做过的两个项目为就业做准备,后续不定期更新
纯纯的学习记录,按照宁一姐说的那啥以教促学在猫宁一公众号学习的GitHub基本操作 宁一姐的教程链接
以程序员做饭指南为例,程序员YYDS!哈哈
本文导航
这里的学自廖雪峰老师的博客
Linux安装Git
sudo apt-get install git
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 "邮箱地址"
什么是版本库呢?版本库又名仓库,英文名repository,你可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改、删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以“还原”。
mkdir Hello_Git
cd Hello_Git
pwd #显示当前的绝对路径
git init
成功功后显示
Initialized empty Git repository in "路径"
在Hello_Git目录下创建一个readme.txt文件
使用Windows系统的注意不要用系统自带的文本编辑器来编写.txt文件,可能后面运行项目会有BUG
touch readme.txt
然后用上面我们说过的基本操作命令行了
git add readme.txt #将readme.txt文件添加到缓存
git commit -m "这是一个学习记录" #将缓存区的内容添加到仓库
成功后会显示这些提示信息,告诉俺们有几个文件改动,加入了几行
1 file changed,num insertions(+)
create mode 100644 readme.txt
没有账号的先建一个账号吧 GitHub
点击GitHub页面右上角头像 --> 点击Your repositories(存储库的英文好长啊O.O)
–> 点击NEW -->写一下仓库名称,选Public就可以创建啦!


本地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:
xxx
The 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随便填,密码把之前复制的密码粘贴进去


进行到这儿,准备工作就做完啦!开始上传下拉吧!
远程连接GitHub
首先咱们之前在GitHub创建的仓库是空的,咱们先打开那个仓库可以看到
code页面让俺们上传一些东西,复制那个链接。
或者直接执行下面那行圈起来的命令

git remote add origin 复制的链接地址
git remote #查看当前连接的仓库别名
这里就要用到写到的刚开始的Git基本命令
首先将待打包上传的项目复制到咱的本地仓库,而后进入项目文件夹目录,可以随便选个程序来做测试,我这里是用的大二的课设来做测试。然后
git add . #将当前目录下的所有文件的都放到缓存空间
git commit -m "智能小车硬件源码V1.0" #将缓存空间的所有文件放到仓库
git push -u origin master #上传到GitHub仓库 其中origin是仓库别名,
#master是仓库下的分支名

然后我们刷新一下GitHub页面,会发现我们想上传的文件都上传上来了!

与本地上传时操作差不多,复习一遍!
ssh @用户名 云服务器公网IP #远程连接云服务器
mkdir IntelligentCar_V1.0 #创建一个目录也就是本地仓库,后面那个是目录名
cd IntelligentCar_V1.0 #进入刚刚创建的目录
git init #告诉git,这个目录归咱管了
ssh-keygen -t rsa -C 注册github用的邮箱 #生成SSH KEY
cat 保存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下载到指定目录
查看是否下载成功

这里我们克隆下项目并且修改后再提交,即更新项目,提供两个项目链接
- 选择SSH方式
git clone 链接地址

用sublime打开HowToCook文件夹,在dishes目录下的某个分类里创建一个新的菜单(记得复制模板,以及不要有太多空行!!!)


Readme.txt处添加该菜单路径,即目录

上传到GitHub
cd HowToWook #进入项目目录
gid add . #将当前路径下的所有文件防止缓存空间
git commit -m "添加蛋煎糍粑菜谱" #将缓存空间文件放置仓库
git push origin master #上传


点击New pull request
打开分叉,在head repository选择自己刚刚上传的分支

签署协议,查看协议后点击Create pull resquests



经过这些操作,一些基本基本操作应该如下
- 创建一个目录也就是本地仓库
- git init #告诉git这是本地仓库归你管
- ssh-keygen -t rsa -C注册github用的邮箱 #生成SSH KEY
- 将生成的SSH KEY保存在github的设置中
- git add 文件名 #将要上传的文件放到缓存空间
- git add . #将当前目录下的所有文件放到缓存空间
- git commit -m "备注信息" #将缓存空间的所有文件放到仓库
- git remote add origin 链接地址 #连接远程仓库
- git push -u origin master #将仓库里的文件上传到GitHub指定仓库的分支,定义仓库别名为origin,分支名为master
- git pull origin master #将别名为origin仓库下的master分支的文件下载到当前目录
- git clone 项目链接 #克隆项目到本地
要好好生活~
天天开心呀~
如何在buildr项目中使用Ruby?我在很多不同的项目中使用过Ruby、JRuby、Java和Clojure。我目前正在使用我的标准Ruby开发一个模拟应用程序,我想尝试使用Clojure后端(我确实喜欢功能代码)以及JRubygui和测试套件。我还可以看到在未来的不同项目中使用Scala作为后端。我想我要为我的项目尝试一下buildr(http://buildr.apache.org/),但我注意到buildr似乎没有设置为在项目中使用JRuby代码本身!这看起来有点傻,因为该工具旨在统一通用的JVM语言并且是在ruby中构建的。除了将输出的jar包含在一个独特的、仅限ruby
我发现ActiveRecord::Base.transaction在复杂方法中非常有效。我想知道是否可以在如下事务中从AWSS3上传/删除文件:S3Object.transactiondo#writeintofiles#raiseanexceptionend引发异常后,每个操作都应在S3上回滚。S3Object这可能吗?? 最佳答案 虽然S3API具有批量删除功能,但它不支持事务,因为每个删除操作都可以独立于其他操作成功/失败。该API不提供任何批量上传功能(通过PUT或POST),因此每个上传操作都是通过一个独立的API调用完成的
我在我的Rails项目中使用Pow和powifygem。现在我尝试升级我的ruby版本(从1.9.3到2.0.0,我使用RVM)当我切换ruby版本、安装所有gem依赖项时,我通过运行railss并访问localhost:3000确保该应用程序正常运行以前,我通过使用pow访问http://my_app.dev来浏览我的应用程序。升级后,由于错误Bundler::RubyVersionMismatch:YourRubyversionis1.9.3,butyourGemfilespecified2.0.0,此url不起作用我尝试过的:重新创建pow应用程序重启pow服务器更新战俘
我已经像这样安装了一个新的Rails项目:$railsnewsite它执行并到达:bundleinstall但是当它似乎尝试安装依赖项时我得到了这个错误Gem::Ext::BuildError:ERROR:Failedtobuildgemnativeextension./System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/rubyextconf.rbcheckingforlibkern/OSAtomic.h...yescreatingMakefilemake"DESTDIR="cleanmake"DESTDIR="
我有一个用户工厂。我希望默认情况下确认用户。但是鉴于unconfirmed特征,我不希望它们被确认。虽然我有一个基于实现细节而不是抽象的工作实现,但我想知道如何正确地做到这一点。factory:userdoafter(:create)do|user,evaluator|#unwantedimplementationdetailshereunlessFactoryGirl.factories[:user].defined_traits.map(&:name).include?(:unconfirmed)user.confirm!endendtrait:unconfirmeddoenden
假设我有这个范围:("aaaaa".."zzzzz")如何在不事先/每次生成整个项目的情况下从范围中获取第N个项目? 最佳答案 一种快速简便的方法:("aaaaa".."zzzzz").first(42).last#==>"aaabp"如果出于某种原因你不得不一遍又一遍地这样做,或者如果你需要避免为前N个元素构建中间数组,你可以这样写:moduleEnumerabledefskip(n)returnto_enum:skip,nunlessblock_given?each_with_indexdo|item,index|yieldit
我有带有Logo图像的公司模型has_attached_file:logo我用他们的Logo创建了许多公司。现在,我需要添加新样式has_attached_file:logo,:styles=>{:small=>"30x15>",:medium=>"155x85>"}我是否应该重新上传所有旧数据以重新生成新样式?我不这么认为……或者有什么rake任务可以重新生成样式吗? 最佳答案 参见Thumbnail-Generation.如果rake任务不适合你,你应该能够在控制台中使用一个片段来调用重新处理!关于相关公司
我在Rails应用程序中使用CarrierWave/Fog将视频上传到AmazonS3。有没有办法判断上传的进度,让我可以显示上传进度如何? 最佳答案 CarrierWave和Fog本身没有这种功能;你需要一个前端uploader来显示进度。当我不得不解决这个问题时,我使用了jQueryfileupload因为我的堆栈中已经有jQuery。甚至还有apostonCarrierWaveintegration因此您只需按照那里的说明操作即可获得适用于您的应用的进度条。 关于ruby-on-r
华为OD机试题本篇题目:明明的随机数题目输入描述输出描述:示例1输入输出说明代码编写思路最近更新的博客华为od2023|什么是华为od,od薪资待遇,od机试题清单华为OD机试真题大全,用Python解华为机试题|机试宝典【华为OD机试】全流程解析+经验分享,题型分享,防作弊指南华为o
C#实现简易绘图工具一.引言实验目的:通过制作窗体应用程序(C#画图软件),熟悉基本的窗体设计过程以及控件设计,事件处理等,熟悉使用C#的winform窗体进行绘图的基本步骤,对于面向对象编程有更加深刻的体会.Tutorial任务设计一个具有基本功能的画图软件**·包括简单的新建文件,保存,重新绘图等功能**·实现一些基本图形的绘制,包括铅笔和基本形状等,学习橡皮工具的创建**·设计一个合理舒适的UI界面**注明:你可能需要先了解一些关于winform窗体应用程序绘图的基本知识,以及关于GDI+类和结构的知识二.实验环境Windows系统下的visualstudio2017C#窗体应用程序三.