因为国内访问GIthub速度比较慢,复制粘贴代码又慢效率也低,所以建议下载Git工具,直接把Github的项目整个下载到本地的文件夹
步骤如下:
sudo apt-get install git
git config --global user.name "your user name"
git config --global user.email "your email"
ssh-keygen -C "your email" -t rsa
cd ~/.ssh
gedit id_rsa.pub 将其中的所有内容复制,到git上添加SSH Key
如果你是刚下载的Git,先配置一下用户名和邮箱
# 在Git Bash中输入以下命令
1. git config --global user.name "你的用户名"
2. git config --global user.email "你的邮箱"
基本配置就完成了!!!
下面介绍如何将项目下载到本地:
前三步,很简单就上面的操作
git branch
看下你的本地分支
git status
看下你的修改状态(修改了哪个文件,添加了哪个文件,删除了哪个文件)
3. git stash
把本次修改先暂存起来,为了拉develop的代码
git pull origin develop
每次提交代码前一定要拉代码,保证本地拉到最新
git stash pop
把暂存的代码释放出来和develop的合并,有冲突就解决一下
git status
解决完冲突后,再看下你的修改状态,确保都是你的本次修改
git checkout -b 分支名
切一个新分支,分支名要有意义一点(feat / fix / refine - xxx)
git add .
添加本次所有的改动文件,如果不想提交那么多,就git add 要提交的文件名
git commit -m "提交信息"
提交信息是本次提交的概述,如fix home page ui bug
git push origin 分支名
直接点击remote中的URL,用浏览器打开,补充一下提交信息,assignee给同伴,勾选merge options,然后点commit就好了
注:git commit -m "..."
以后,发现本地少提交一个文件,可以用git commit --amend
修补提交,再次git push -f
就可以了,不会出现多个commit的情况
问题分析:
格式化与多余的空白字符,特别是在跨平台情况下,有时候是一个令人发指的问题。由于编辑器的不同或者文件行尾的换行符在 Windows 下被替换了,一些细微的空格变化会不经意地混入提交,造成麻烦。虽然这是小问题,但它会极大地扰乱跨平台协作。
其实,这是因为在文本处理中,CR(CarriageReturn),LF(LineFeed),CR/LF是不同操作系统上使用的换行符,
Dos和Windows平台: 使用回车(CR)和换行(LF)两个字符来结束一行,回车+换行(CR+LF),即“\r\n”;
Mac 和 Linux平台:只使用换行(LF)一个字符来结束一行,即“\n”;
最早Mac每行结尾是回车CR 即’\r’,后mac os x 也投奔了 unix。
许多 Windows 上的编辑器会悄悄把行尾的换行(LF)字符转换成回车(CR)和换行(LF),或在用户按下 Enter 键时,插入回车(CR)和换行(LF)两个字符。
解决:
Git 可以在你提交时自动地把回车(CR)和换行(LF)转换成换行(LF),而在检出代码时把换行(LF)转换成回车(CR)和换行(LF)。
#win下 提交时转换为LF,检出时转换为CRLF
$ git config --global core.autocrlf true
#Linux、Mac 提交时转换为LF,检出时不转换
$ git config --global core.autocrlf input
git log
查看log,看一下你有几次commit需要合并2.git rebase -i HEAD~X
X代表有几次commit需要合并,如HEAD2,HEAD3
把打开的rebase信息中的第二行的开头pick 修改为f,然后ctrl x,保存,会出现成功的提示哦
git push -f origin
分支名 搞定git stash list
查看暂存的所有记录
git stash apply stash{X}
释放第x条记录
git stash drop stash{X}
删除第x条记录
4.git branch -D 分支名
删除本地分支
5.git push origin --delete 分支名
删除远程分支
删除commit的三种方法
用了clash导致的
重新设置代理,将你的代理端口号,设置上去。
我的端口是7890,设置如下:
git config --global http.proxy http://127.0.0.1:7890
git config --global https.proxy http://127.0.0.1:7890
error: RPC failed; curl 92 HTTP/2 stream 0 was not closed cleanly: CANCEL (err 8) send-pack: unexpected disconnect while reading sideband packet Writing objects: 100% (120/120), 91.63 MiB | 127.00 KiB/s, done. Total 120 (delta 2), reused 0 (delta 0), pack-reused 0 fatal: the remote end hung up unexpectedly
原因可能有文件过大、网速太差、以及一些国外资源因为墙的因素影响等等
解决方式:
1、文件太大,解决方式为git添加 compression 配置项
git config --global core.compression -1
compression 是压缩的意思,从 clone 的终端输出就知道,服务器会压缩目标文件,然后传输到客户端,客户端再解压。取值为 [-1, 9],-1 以 zlib 为默认压缩库,0 表示不进行压缩,1…9 是压缩速度与最终获得文件大小的不同程度的权衡,数字越大,压缩越慢,当然得到的文件会越小
2、可以增加git的缓存大小
git config --global http.postBuffer 1048576000 (1G)
3、配置git的最低速和最低速时间
git config --global http.lowSpeedLimit 0
git config --global http.lowSpeedTime 999999 单位 秒
git config --global http.version HTTP/1.1
-or
git config --global http.version HTTP/2
git config http.postBuffer 524288000
参考链接