当前位置:   article > 正文

Github使用技巧_rider git用法

rider git用法

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
  • 1
  • 2
  • 3

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

Github下载代理

  1. http代理(需要privoxy协议转换器)
git config --global http.proxy "localhost:1081"
git config --global https.proxy "localhost:1081"
  • 1
  • 2
  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
  • 1

原因: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
  • 1
  • 2
  • 3
  • 4

输入以上四条命令后重新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.
  • 1

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

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

如果执行成功。返回

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): 
  • 1

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

Enter passphrase (empty for no passphrase):
  • 1

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

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

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

Enter same passphrase again: 
  • 1

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

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++.   |+-----------------+ 
  • 1

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

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

这时候会看见:

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

(说明: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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18

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 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/在线问答5/article/detail/803571
推荐阅读
相关标签