Github使用技巧

github文件介绍

.gitignore文件:忽略不需要上传的文件
.git:git init后自动生成的文件
.gitmodules:子储存库添加的文件
README.md:这个是说明文件,使用Markdown语法编写
仓库别名在前,分支名在后
本地仓库在前,远程仓库在后
push:从本地仓库到远程仓库(推出去)
pull:从远程仓库到本地仓库(拉回来)

github的一些常用命令介绍

  1. git init 新建一个空的仓库,初始化本地储存库,并创建.git隐藏文件夹;
  2. git status 查看状态;
  3. git add . 添加文件,将当前文件夹中的所有文件加入到本地储存库中;
  4. git commit -m ‘注释’ 提交添加的文件并备注说明(此备注将在github远程储存库中公开显示);
  5. git remote add origin git@github.com:**.git(origin跟后面也可以写为http://***.git或https://***.git)连接远程仓库并将远程仓库取本地别名为origin;
  6. git push origin master 将本地仓库master分支文件推到远程仓库;
  7. git pull origin master 将远程仓库master分支文件拉到本地仓库;(以上两条命令等于git fetch & git merge origin/master)
  8. git log 查看变更日志;
  9. git reset --hard 版本号前六位 回归到指定版本;
  10. git branch 查看当前储存库的分支;
  11. git branch newname 创建一个叫newname的分支;
  12. git branch dev origin/dev 拉取远程仓库的dev分支为本地dev分支
  13. git checkout newname 切换到叫newname的分支上;
  14. git merge newname 把newname分支合并到当前分支上;
  15. git pull origin master 将master分支上的内容拉到本地上;
  16. git clone https://github.com/******/******.git 克隆储存库
  17. git tag 列出标签
  18. git tag -a v1.0 -m 创建1.0版本
  19. git push origin --tags 上传标签
  20. git tag -a v1.0 提交对象的md5值
  21. git rebase dev 将提交记录变成一条直线
  22. git config --list 查看当前git设置
  23. git submodule update --init --recursive 添加所有子模块

git submodule问题

当本地储存库中有其他已经克隆下来的储存库时,如果直接push推到远程仓库,远程仓库将无法访问嵌入的储存库。因此,需要在本地最外层储存库根目录中新建.gitmodules隐藏文件。内容格式如下:
[submodule “储存库子类别名”]
path = 储存库相对于外层储存库根目录的路径
url = git://github.com/××××/××××.git 储存库url
添加如上内容后重新执行

git add .
git commit -m ‘’
git push origin master

即可看到远程仓库中出现了该子储存库,并且链接指向url中的地址
注意:在修改该文件之后需要重新添加文件以及commit和push

Github下载代理

  1. http代理(需要privoxy协议转换器)
git config --global http.proxy "localhost:1081"
git config --global https.proxy "localhost:1081"
  1. socks代理(支持TCP和UDP,shadowsocks走的协议)git config --global http.proxy ‘socks5://localhost:1080’ git config --global https.proxy ‘socks5://localhost:1080’

Github常见错误及解决办法

  1. 错误发生于文件下载中,导致下载中断,报错如下:
error: RPC failed; curl 56 GnuTLS recv error (-9): A TLS packet with unexpected length was received.fatal: The remote end hung up unexpectedlyfatal: early EOFfatal: index-pack failed

原因:git缓存区空间不足,数据溢出导致错误
解决办法

git config --global http.sslVerify false
git config --global http.postBuffer 1048576000
git config --global https.sslVerify false
git config --global https.postBuffer 1048576000

输入以上四条命令后重新git clone即可,或在~/.gitconfig配置文件中修改
2. git push的时候报错

fatal: Could not read from remote repository.Please make sure you have the correct access rightsand the repository exists.

出现这个问题是因为没有在github账号添加SSH key
解决方法
1.在终端输入。

ssh-keygen -t rsa -C "username" (注:username为你git上的用户名)

如果执行成功。返回

Generating public/private rsa key pair.Enter file in which to save the key (/Users/username/.ssh/id_rsa):Generating public/private rsa key pair.Enter file in which to save the key (/Users/username/.ssh/id_rsa):

首先,说明一下,这里的username是你电脑上的用户名然后,在这里就是设置存储地址了.我们直接按回车,会出现一下两种情况的一种:
(1)如果正常运行的话,会出现

Enter passphrase (empty for no passphrase):

然后我们直接回车
(2)有的时候我们可能会出现

/Users/your username/.ssh/id_rsa already exists.Overwrite (y/n)?

这说明你已经设置了存储地址,我们输入“y”覆盖Overwrite (y/n)? y回车
上面的任意两种情况之后,会出现

Enter same passphrase again:

再次回车,这时候你会看见:

Your identification has been saved in /Users/username/.ssh/id_rsa.Your public key has been saved in /Users/username/.ssh/id_rsa.pub.The key fingerprint is:58:42:8b:58:ad:4b:b5:b9:6d:79:bf:8c:f9:e2:2b:ed usernameThe key's randomart image is:+--[ RSA 2048]----+|    ...          ||   o oo.         ||  . .ooo.        ||    o o+         ||   . ..oS.       ||    . . + .      ||       . o .     ||        . o+.    ||         +E++.   |+-----------------+

这说明SSH key就已经生成了。文件目录就是:/Users/username/.ssh/id_rsa.pub.
我们执行cat命令查看文件的内容:

cat /User/username/.ssh/id_rsa.pub

这时候会看见:

ssh-rsa AAAAB3NzaC1yc2。。。。。。。。。后面的内容我省略了

(说明:ssh-rsa 后面的内容这就是你的SSH keys)

把显示出来的SSH keys直接添加到github账户设置里边的SSH keys
最后再执行git clone命令就可以了

Gitconfig配置文件

在这里贴出我的.gitconfig配置文件(一共两个)
Socks5代理配置

[user]
name = Phillweston
email = 2436559745@qq.com
[http]
proxy = socks5://127.0.0.1:1080
sslVerify = false
postBuffer = 1024m
[core]
packedGitLimit = 512m
packedGitWindowSize = 512m
[pack]
deltaCacheSize = 2047m
packSizeLimit = 2047m
windowMemory = 2047m
[https]
proxy = socks5://127.0.0.1:1080
sslVerify = false
postBuffer = 1024m

HTTP代理配置

[user]
name = Phillweston
email = 2436559745@qq.com
[http]
proxy = localhost:1081
sslVerify = false
postBuffer = 1024m[core]
packedGitLimit = 512m
packedGitWindowSize = 512m
[pack]
deltaCacheSize = 2047m
packSizeLimit = 2047m
windowMemory = 2047m
[https]
proxy = localhost:1081
sslVerify = false
postBuffer = 1024m

注:sslVerify和postBuffer要在http和https中写两遍gitconfig输入完命令后即可在.gitconfig隐藏文件中自动生成,不需要在.bashrc中写 github如果使用http方式克隆,在每一次push代码的时候都需要输入用户名和密码,
解决办法:使用ssh克隆(把http(s)

Github使用技巧相关推荐

  1. 隐藏实用的GitHub使用技巧

    目录 技巧1:在Github个人资料页面上启用自述文件 技巧2:快速有效的搜索技巧 技巧3:用文件查找器快速.轻松地搜索仓库中的文件 技巧4:代码阅读技巧 技巧5:无敌技巧--在线运行项目 GitHu ...

  2. github搜索技巧小结

    关于搜索 对自己而言,这是篇迟来的重要的笔记,github是宝库,搜索方法不当可能与珍贵的代码擦肩而过,于是将常用搜索方法分类总结以备不时之需: 个人常用搜索方法总的来说分为作者和内容两种,按照自己的 ...

  3. 实用github使用技巧

    实用github使用技巧 克隆远程代码仓库到本地 git clone https://github.com/xxx/xxx.git 或者  git --recursive clone https:// ...

  4. Github 使用技巧

    Github 使用技巧 记录下Github的使用技巧,方便大家更好的查阅资料 文章目录 Github 使用技巧 一.Github 加速 方法一 方法二 二.在线阅读代码 三.在线运行代码 四:Gith ...

  5. GitHub搜索技巧找到好项目

    前言 众所周知,github上有很多开源的好项目,但如何在茫茫hub上找到自己想要的好项目需要一定的技巧,而github恰巧提供了很好的搜索功能供我们发现自己想要的资源. 一.进入github 网址: ...

  6. github搜索技巧——搜索仓库

    github搜索技巧--搜索仓库 搜索fork仓库 修饰语 例子 fork:true github fork:true 匹配所有的包含关键字"github"的仓库,包括 fork仓 ...

  7. Github搜索技巧参考

    参考 1.普及一下 GitHub 上的搜索使用技巧 2.GitHub搜索技巧整理 3.关于github的高级搜索技巧 其他 1.Github上的一个非常流行的编程书籍索引

  8. (0018)iOS 开发之Github 使用技巧

    作为iOS 开发,经常在Github上找资源.但是一直不清楚如何更好的使用,这篇文章记录它使用的.最常用的就是Search 和 Trending. 1.Search 搜索某种语言的星排名: langu ...

  9. 8 个你必须要掌握的 GitHub 实用技巧!

    1.一秒钟把Github项目变成前端网站 GitHub Pages大家可能都知道,常用的做法,是建立一个gh-pages的分支,通过setting里的设置的GitHub Pages模块可以自动创建该项 ...

  10. github搜索技巧:快速搜到你想要的!

    前言 不得不说 GitHub 简直就是程序猿的福地,聚集了众多大神在上面分享,在这里可以发现无限的优良资源,不管是初学者还是正在进阶中的青铜王者,都可以在上面找到适合自己的好东西,用好 GitHub ...

最新文章

  1. Java网络编程笔记3
  2. 隐形数字水印_隐形数字水印的主要用途不包括
  3. 龙芯linux内核移植开发板,基于国产龙芯GS32I的开发板的设计与嵌入式Linux的移植...
  4. Python基础-day01
  5. Wait Event Disk file operations I/O
  6. 清空StringBuilder的三种方法及效率
  7. 重磅!华为方舟编译器招募 2000 程序员!
  8. Appfuse:扩展自己的GenericManager
  9. python中进制转换函数_Python内置函数进制转换的用法
  10. 网页游戏用的什么编程语言
  11. 基于开源SDN控制器的下一代金融云网络的研究与实践
  12. 限时免费领超大15.9GB的PS设计素材
  13. 第一季 停课模拟考试整理(完结)
  14. LiveZilla-最好的免费在线客服
  15. 小小的蜗牛有大大的梦想
  16. App推广活动方案策划步骤
  17. 国际日期书写标准格式
  18. 【Jupyter Notebook】slides演示小技巧
  19. html网页常用功能:下拉框模糊搜索
  20. 1411-喜闻乐见的a+b ZCMU

热门文章

  1. 长文详解Attention、Seq2Seq与交互式匹配
  2. 【NLP】用腻了 CRF,试试 LAN 吧?
  3. 【机器学习】无监督学习:PCA和聚类
  4. pandas—pd.DataFrame.sample
  5. torch GPU分布式训练 模型并行
  6. pytorch---nn模块(3)自定义nn 模块
  7. 自然语言理解——词向量(一)
  8. 白板推导系列Pytorch-线性判别分析(LDA)
  9. RMI:Java中的分布式计算框架
  10. 小学生都能听懂的傅里叶变换讲解