Git学习笔记与IntelliJ IDEA整合
Git学习笔记与IntelliJ IDEA整合
一.Git学习笔记(基于Github)
1.安装和配置Git
Github官方使用说明:https://help.github.com/articles/set-up-git
默认安装
配置
1)首先你要告诉git你的名字
git config --global user.name "Your Name Here"
2)关联邮箱地址:
git config --global user.email "your_email@example.com"
关联的邮箱地址最好跟github的一致,如果不一致点这里:https://help.github.com/articles/how-do-i-change-my-primary-email-address
2.创建一个仓库
1)在Github上创建一个仓库(注册省略)
2)填写的仓库的信息;例子:Hello-World
恭喜你!您已经成功创建了您的第一个仓库。
3.为仓库创建一个README。
README不是GitHub上必须的一部分,但是他是一个非常好的主意,它可以描述你的项目或者是一些文档,比如如何安装或使用你的项目。
$mkdir ~/Hello-World
# 在你的目录下创建一个Hello-World的文件夹
$cd ~/Hello-World
# 改变当前工作目录到你的新创建的目录
$git init
# 初始化 /Users/you/Hello-World/.git/
$touch README
#在你的hello world目录创建一个文件叫做“README”
在C盘用户目录下进入Hello-World,打开README,填写你想填的东西
4.提交你的“README”
$git add README
# 将README添加的提交列表上
$git commit -m 'first commit'
# 提交你的文件,添加消息”第一次提交”
$git remote add origin https://github.com/username/Hello-World.git
# 创建一个远程命名为“起源”指着你的GitHub库; username:为你的github用户名Hello-World这是区分大小写的,重要的是与服务器保持相同$git push origin master#发送你的提交的“大师”分支到GitHub此时会让你输入用户名和密码
OK!此时服务器上Hello-World上就可以看到你提交的README。
6.创建分支
在某些时候你可能会发现自己想要为别人的项目,或想用别人的项目为起点。
这就是所谓的“分支”。对于本教程中,我们将使用 Spoon-Knife项目,托管在GitHub.com上。
1)创建"Spoon-Knife"分支
创建分支项目,单击“Fork”按钮在GitHub库中。
2)克隆分支
你已经成功地分支了“ Spoon-Knife”,但到目前为止,它只存在在GitHub上。能够在这个工程上工作,你将需要克隆它到您的本地机器上。
$git clone https://github.com/username/Spoon-Knife.git
#克隆你的分支的仓库到当前目录
3)配置远程
当一个仓库是克隆的,它有一个默认的远程称为原点指向你的叉子在GitHub上,不是原始的仓库是分支,跟踪原始的仓库,您需要添加另一个远程命名的upstream
$cd Spoon-Knife
# 改变活动目录,进入 "Spoon-Knife" 目录$git remote add upstream https://github.com/octocat/Spoon-Knife.git# 分配原始库远程名称为“upstream ”$git fetch upstream# Pulls in changes not present in your local repository, without modifying your files
二. 使用IntelliJ IDEA分享、获取Github项目:
· 1.在IDEA中配置Git:
·选择菜单”File — Settings”,找到”Version Control — Git”:到Git的安装目录下的Git.exe执行文件所在地
·
其次,配置你在Github上注册的账户:
填入你的Github账户信息,点击”Test”按钮测试连接,若链接成功会提示”Connection successful”。保存完成。
点击OK,此时可能要你输入IntelliJ IDEA的密码,如果没设,点击确定即可。
2.分享项目Github上:
选择菜单”VCS — Import into Version Control — Share project on Github”:
填写描述信息后,点击”Share”按钮即可。
3.获取Github项目:
选择菜单”VCS — Checkout from Version Control — Github”:
等待一段时间的验证和登陆,出现界面:
在”Git Repository URL”下来列表中既有你自己的项目,也有你在Github网站上”Wacth”的项目,选择后,选择你存放的路径,再输入你想要的项目名称,点击”Clone”按钮,即完成获取过程。
linux内核源代码分析
摘要: 在2.6.24内核中链路层接收网络数据包出现了两种方法,第一种是传统方法,利用中断来接收网络数据包,适用于低速设备;第二种是New Api(简称NAPI)方法,利用了中断+轮询的方法来接收网络数据包,是linux为了接收高速的网络数据包而加入的,适用于告诉设备,现在大多数NIC都兼容了这个方法。 今天我的任务是扒一扒网络数据包在传统方法也就是低速路径中如何传入链路层以及如何将其发送给上层网络层的。下面先来看看这条低速路径的简略示意图: 1 //当产生硬件中断时,此中断处理例程被调用.例程确定该中断是否是由接收到的分组引发的,如果是则调用net_rx 2 static irqreturn_...阅读全文
摘要: 最近研究了linux内核的网络子系统上的网络分组的接收与发送的流程,发现这个叫sk_buff的东西无处不在,内核利用了这个结构来管理分组,在各个层中传递这个结构,因此sk_buff可以说是linux内核网络子系统的基石,所以我决定在这篇文章中好好扒一扒这个sk_buff。 下面列出我我认为比较重要的sk_buff中的成员变量: 内核是利用一个双链表来管理sk_buff的,不过不使用内核的标准双链表而是自己实现了双链表:struct sk_buff *next; struct sk_buff *prev;struct sock *sk是sk_buff关联的socketktime_t t...阅读全文