git学习笔记


以下均为转载

学习目标: 学会推送指定文件夹到github的指定仓库!

目的:全站白嫖jsdelivr的CDN加速(原因:其实hexo-theme-matery已经非常友好的为我们配置了CDN加速,因但是由于jsdelivr不对超过50M的进行加速,导致我的部分图片的CSS,JS无法正常加载,所以我就想进行多仓库来部署,是图片,JS和CSS放在不同的仓库,但是在网上没有找到别人造好的轮子( Ĭ ^ Ĭ ),只好自己动手了,顺便学习一下Git的相关使用方法,一举两得φ(>ω<*)

1.创建仓库

# 当前目录作为Git仓库
git init
#当前目录的newrepo文件夹作为Git仓库
git init newrepo

如果当前目录下有几个文件想要纳入版本控制,需要先用 git add 命令告诉 Git 开始对这些文件进行跟踪,然后提交:

$ git add *.c
$ git add README
$ git commit -m '初始化项目版本'

克隆仓库

git clone <repo> <directory>

参数说明:

  • **repo:**Git 仓库。
  • **directory:**本地目录。

下面这些写法等价

git clone http://github.com/CosmosHua/locate new
git clone http://github.com/CosmosHua/locate.git new
git clone git://github.com/CosmosHua/locate new
git clone git://github.com/CosmosHua/locate.git new

2.Git 基本操作

3.设置代理

1.http || https协议

//设置全局代理
//http
git config --global https.proxy http://127.0.0.1:1080
//https
git config --global https.proxy https://127.0.0.1:1080
//使用socks5代理的 例如ss,ssr 1080是windows下ss的默认代理端口,mac下不同,或者有自定义的,根据自己的改
git config --global http.proxy socks5://127.0.0.1:1080
git config --global https.proxy socks5://127.0.0.1:1080

//只对github.com使用代理,其他仓库不走代理
git config --global http.https://github.com.proxy socks5://127.0.0.1:1080
git config --global https.https://github.com.proxy socks5://127.0.0.1:1080
//取消github代理
git config --global --unset http.https://github.com.proxy
git config --global --unset https.https://github.com.proxy

//取消全局代理
git config --global --unset http.proxy
git config --global --unset https.proxy

2.SSH协议

//对于使用git@协议的,可以配置socks5代理
//在~/.ssh/config 文件后面添加几行,没有可以新建一个
//socks5
Host github.com
User git
ProxyCommand connect -S 127.0.0.1:1080 %h %p

//http || https
Host github.com
User git
ProxyCommand connect -H 127.0.0.1:1080 %h %p

4.

5.Git 远程仓库(Github及服务器)

添加远程库

git remote add [shortname] [url]
mkdir runoob-git-test                     # 创建测试目录
cd runoob-git-test/                       # 进入测试目录
echo "# 菜鸟教程 Git 测试" >> README.md     # 创建 README.md 文件并写入内容
ls                                        # 查看目录下的文件
README
git init                                  # 初始化
git add README.md                         # 添加文件
git commit -m "添加 README.md 文件"        # 提交并备注信息
[master (root-commit) 0205aab] 添加 README.md 文件
 1 file changed, 1 insertion(+)
 create mode 100644 README.md

# 提交到 Github
git remote add origin git@github.com:tianqixin/runoob-git-test.git
git push -u origin master

github官方的:

创建储存库
echo "# pic11" >> README.md
git init
git add README.md
git commit -m "first commit"
git remote add origin git@github.com:guhailong18/pic11.git  #改成自己的仓库
git push -u origin master
从命令行推送现有存储库
git remote add origin git@github.com:guhailong18/pic11.git
git push -u origin master

看当前配置有哪些远程仓库

$ git remote
origin
$ git remote -v
origin    git@github.com:tianqixin/runoob-git-test.git (fetch)
origin    git@github.com:tianqixin/runoob-git-test.git (push)

执行时加上 -v 参数,你还可以看到每个别名的实际链接地址。

报错解决:

不知道有没有人像我一样随便弄些东西都能搞出一大堆报错,真的是惨!也可能是我喜欢乱搞东西,希望大家不要像我一样瞎弄,到头来只有一堆报错!

fatal: unable to auto-detect email address

原因分析:这个是因为没有设置全局邮箱引起的,因为我有多个SSH,所以没有设置

解决办法:

找到工程目录的.git文件夹,打开之后找到config文件,在最后边加上一句话

[user]
email=your email
name=your name

“Connection closed by remote host”

解决办法:

如果原来是可以用ssh连接的, 突然连接不上通常是连接数过多导致的.

修改服务器上的这个文件:/etc/ssh/sshd_config 找到这行:

  1. # MaxSessions 10

error: src refspec master does not match any

引起该错误的原因是,目录中没有文件,空目录是不能提交上去的

解决方法

touch README
git add README 
git commit -m 'first commit'
git push origin master
参考链接:

https://www.runoob.com/git/git-remote-repo.html (大部分都是从这里学来的)


文章作者: 古客
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 古客 !
评论
  目录