文章目录
1.获取网络连接
直接访问github网站是非常慢的,甚至有时可能不能访问,所以需要重新获取网络连接。
使用下面网站:https://tool.chinaz.com/dns/ ->在输入框中输入github.com,github.global.ssl.fastly.net,assets-cdn.github.com
不断点击并查看其给出的ip地址和TTL时间(响应往返时间,越小越好) 记录一个TTL时间比较短的IP地址。根据上图我们选择第二个IP。
windows
在windows本地打开
/c/windows/system32/drivers/etc/HOSTS
文件并在文件最后一行
添加我们得到的最短ttl时间对应的IP地址+
github.com
,
github.global.ssl.fastly.net
,
assets-cdn.github.com
eg:
mac
进入命令行
vi /etc/hosts
同样添加上述内容
保存并关闭
解释下为什么这样有一定效果,这不得不提我们访问网站的流程:
- 域名解析(这里需要借助DNS域名服务器,所以如果我们与域名服务器的TTL越短,我们就能更快的得到github服务器的IP,从而能够更快访问github网站)
- 为了将消息从你的 PC 上传到服务器上.过程中需要用到 1P 协议、ARP 协议和 0SPF 协议
- 发起TCP的3次握手
- 建立 TCP 连接后发起 http 请求
- 服务器响应 htp 请求
- 浏览器解析 html 代码,并请求 html 代码中的资源(如 js、css、图片等)
- 断开 TCP 连接
- 浏览器对⻚面进行渲染呈现给用户
当然,从以上过程我们可以发现上述办法只是加快了我们知道网站IP的速度,但是有些时候在内网情况下,github就是访问不到的。这种情况,我们可以考虑换成
手机热点
,或者使用
科学上网软件
。再不济就在Gitee上找找是否有这个资源。
2.进入github官网创建个人账号
github
3.进入github内部创建个人仓库(repositories)
4.安装git软件
windows
下载链接:https://git-scm.com/downloads
下载后,只需要选一下安装路径,其他不用考虑,直接下一步,下一步…即可。
如果需要详细选择可以参考:知乎
安装完成后,可在任意一个文件夹下鼠标右键选择使用git bash(命令行的方式)来进行操作
mac
1.下载并安装brew
/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"
x86架构:
2.下载并安装git
brew install git
3.下载并安装MacPorts
sudo port install git
4.安装git-gui(可以不安装,只使用命令行)
brew install git-gui
arm架构:
替换
brew install
为
arch -arm64 brew installi
5.第一次提交文件到github仓库时(仓库中无文件)
5.0总体流程
1.add工作台->暂存池
2.commit 暂存池->本地仓库(需要初始化 git init())
3.push 本地仓库->远程仓库
5.1配置免密登录
**(1) **
打开git命令行(git bash) 或者 命令行 并输入
ssh-keygen -t ed25519 -C "[email protected]"
如果您使用的是不支持Ed25519算法的遗留系统,则使用:ssh-keygen -t rsa -b 4096 -C "[email protected]"
再
三次回车
得到密钥,
(2)
上述操作如果成功,则会在 ~/ 下生成
.ssh
文件夹
windows
在windows找到~ (一般是指c/user/…) /.ssh下的id_rsa.pub使用记事本打开
id_rsa.pub
or
id_ed25519.pub
,复制里面的 key。
mac
cd ~/.ssh
ls
cat id_ed25519.pub
将它复制下来
(3)
进入github->在setting 中找到
ssh and GPG keys
,然后添加我们复制的密钥并添加.再回到git命令行输入
回到命令行 输入
ssh -T [email protected]
查看是否已经连接成功.(出现successful即可)
5.2设置提交代码时的用户信息
设置用户名
git config --global user.name "user_name"
(自己的用户名,如果需要修改请参考本文第8部分)
设置用户账号(需要是自己的注册账号)
git config --global user.email "[email protected]"
(自己的账号邮箱)
5.3构建本地仓库数据
第一步:创建本地文件夹
法1.
进入命令行
git mkdir bigdata
#创建本地目录
cd bigdata
#进入到本地目录
使用
pwd
命令得到当前文件路径,并在windows(或mac)系统中找到路径下的刚创建的文件夹
法2.
直接在本地创建一个文件夹,然后右键选择git bash 命令行进入(适用于windows)
第二步:放入我们想要上传的文件
找到文件夹,将想要上传的文件放到刚创建的文件夹下
第三步:本地仓库
git init
#本地仓库初始化
git add .
. 是添加当前目录下的所有文件到
本地暂存区
,也可指定具体文件 eg: test
git commit -m "operation description"
#将本地暂存区的内容添加到
本地仓库
,操作名称为
operation description
补充
add 进入的文件是以最后一次为准,只要没有commit提交到本地仓库,之前无论多少次add,都是看最后一次。
e.g.
git add test.py =>print(“hello world")
git add test.py =>print(“very good”) #会覆盖掉暂存区中的test.py
git commit -m “…”
则实际放到本地仓库中的 test.py =>(”very good")
如果想要删除本地仓库:
删除文件夹中的.git文件夹 ( 在此之后想再次连接远程仓库就需要重新开始创建本地仓库 )
判断是否git init初始化成功,就看是否存在.git文件存在(注意.git为隐藏文件需要打开文件的隐藏文件选项或者命令行
ls -al
)
5.4连接本地仓库和远程仓库
回到github网站
在自己github创建的仓库中的code栏找到类似如下链接:
[email protected]:269-1/The-road-of-data-division-s-growth..git
(.git结尾)
1.
或者
2.
并将其复制
回到本地仓库命令行
git remote add origin +复制的内容
(实际可看为是远程仓库的链接)
git remote -v
可以查看已有的远程库信息
删除已经连接的远程库可以使用
git remote rm origin
5.5提交代码到远程仓库(github)
git push -u origin master
#推送本地仓库数据到远程仓库
注意:
登录的用户名和密码是账户用户名(用户id)和token。
Username for'https://github.com': username
Password for'https://[email protected]': new_token
第一次使用请参考本文第10部分,设置token令牌。否则会出现:
6.非第一次使用github仓库(仓库中有文件)
6.1删除远程仓库中的部分内容
可以借助本地仓库与远程仓库的同步机制实现:
- 将远程仓库中的内容拉回到暂存区中(
git pull --rebase origin master
)(如果在此步之前已经使用了pull则直接进行第二步) - 通过使用
git rm -r --cached +文件名
删除暂存区中的文件 - 使用commit提交到本地仓库更新本地仓库(
git commit -m "本次操作描述"
) - 使用push推送到远程仓库。就可以实现对远程仓库文件的删除。(
git push -u origin master
)
注意:
登录的用户名和密码是账户用户名(用户id)和token。
Username for'https://github.com': username
Password for'https://[email protected]': new_token
在push或pull时如果出现以下情况,请参考10,更新token令牌
6.2在有文件的条件下,向远程仓库添加文件
- 将github上的文件拉回到
暂存区
中(git pull --rebase origin master
,如果之前使用了pull,或本地目录数据与github远程仓库的数据一致或有所增加,则跳转至下一步)。pull的主要目的防止操作过程中导致远程仓库中数据丢失以及使得文件总体更规整,而非显示很多commit信息。 - 将想要加入的文件e.g. test.py放到当前的目录(执行命令行的目录,可用
pwd
命令查看)中 - 使用
git add .向暂存区区中加入当前目录所有文件
或者加入某个文件 e.g. test - 提交文件(
git commit -m "本次操作描述"
)到本地仓库 - 推送文件到远程仓库github上(
git push -u origin master
)。
在本地仓库与远程仓库连接的情况下:当本地缓冲区或者目录有改变时需要提交这次改变(暂存区改变使用commit,如果是本地目录被删除就只能重新创建本地仓库再重新连接远程仓库了)并且push到远程仓库之后才能使用pull 。相当于本地目录、暂存区、本地仓库、远程仓库是紧密相连的。
pull的目的:同步缓冲区数据和远程仓库数据,防止非自身意愿的情况下不小心删除了远程仓库中的数据
一般而言pull只在第一次同步远程仓库和本地目录时使用,不在操作过程中使用pull。
注意:
登录的用户名和密码是账户用户名(用户id)和token。
Username for'https://github.com': username
Password for'https://[email protected]': new_token
在push或pull时如果出现以下情况,请参考10,更新token令牌
7.上传大文件
一般github一个仓库不能存放>100M的文件,所以如果需要上传大文件e.g.图片数据…则需要安装
Git LFS
7.1安装git lfs
windows
以及集成到git软件中了,可以直接使用
mac
x86架构:
brew install git-lfs
arm架构:
替换
brew install
为
arch -arm64 brew installi
7.2上传大文件
第一步
将大文件放到本地目录中
第二步
git lfs track "large_file_name"
这会生成一个.gitattributes文件,它记录了large_file的信息
第三步 上传大文件的信息
git add .gitattributes
添加到暂存区
git commit -m "this is the large file message"
添加到本地仓库
git push -u origin master
上传到远程仓库
注意:
登录的用户名和密码是账户用户名(用户id)和token。
Username for'https://github.com': username
Password for'https://[email protected]': new_token
在push或pull时如果出现以下情况,请参考本文10,更新token令牌
第四步 上传大文件
git add large_file_name
git commit -m "this is the large file"
git push -u origin master
可能会出现:
按提示在命令行输入上述命令回车,然后重新上传即可
但是
需要注意的是git lfs是有容量限制的,free 用户只有1G,可通过setting中billing and plans查看:
最下面 git lsf data:
8.GitHub 用户名与昵称修改
github有两个名字,一个是对外展示的昵称,一个是用户ID名(用户名)
8.1昵称修改
8.2用户id(用户名)修改
9.git修改需要连接的远程仓库地址
即更换仓库进行存储,上传,拉取
这里有三种方法
1.修改命令
git remote origin set-url [url]
2.先删后加
git remote rm origin
git remote add origin [url]
3.直接修改config文件
git文件夹,找到config,编辑,把旧的项目地址替换成新的。
vi config
将其中的url换为新地址保存退出即可
10.添加或更新token
点击setting ,在其中选择developer setting查看自己的token是否过期。
选Personal access->tokens,如果没有或已经过期则新创建一个
大家可根据需要选择:(第一次使用,如果嫌麻烦可以直接全选read and write)
完成后的效果如下:
注意:
一定及时复制,并保存该token,否则之后就看不到了,只能重新创建。
11.GitHub分支
默认分支(主分支):master
主要作用:在进行多人协作开发的时候,为了防止互相干扰
例如:需要设计新功能则可新建一个分支,后期觉得可行,则可合并到master分支上。
git branch -a
(查看所有分支包括本地分支和远程分支).
git branch -r
查看远程分支
git branch branchname
创建分支
git checkout branchname
切换分支
git checkout -b branchname
创建并切换分支
git push origin banchname
推送本地仓库的banchname分支到github远程仓库
git branch -d branchname
删除本地分支
克隆某一分支数据:
git glone -b branchname git_url
补充:
1、git主分支(master)。它是自动建立,用于发布重大版本更新。
2、git开发主分支(develop)。日常开发在此分支上进行。
3、git临时性分支:主要是应对日常开发中的遇到的版本问题的。
- 功能(feature)分支:它是为了开发某种特定功能,从Develop分支上面分出来的。开发完成后,要再并入Develop。可以采用feature-*的形式命名。
- 预发布(release)分支:指发布正式版本之前(即合并到Master分支之前),我们可能需要有一个预发布的版本进行测试。 预发布分支是从Develop分支上面分出来的,预发布结束以后,必须合并进Develop和Master分支。它的命名,可以采用release-*的形式。
- 修补bug(hotfix)分支:软件正式发布以后,难免会出现bug。这时就需要创建一个分支,进行bug修补。 修补bug分支是从Master分支上面分出来的。修补结束以后,再合并进Master和Develop分支。它的命名,可以采用hotfix-*的形式。
这部分主要参考:https://blog.csdn.net/HcJsJqJSSM/article/details/84558229
版权归原作者 看不见的罗辑 所有, 如有侵权,请联系我们删除。