GIT简单使用指南

真的我,大概就是喜欢睡懒觉.打游戏.没事就自己发呆东想西想,每次去报刊都蹭杂志看,喜欢一个人三年都不敢表白的那种……你会觉得这种人生有什么意思么? 要是我看到这种人我都觉得没意思,可…我就是这种人。自己是棵草自己知道,人家夸你是棵参天大树你也不能信对不对?

介绍

GIT是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。

安装

在github上注册账号后,到官网下载git即可~

管理项目

首先创建一个项目~

在这里~

然后生成你的密钥后加载到github中~

配置文件

Git 为你的每一个提交都记录你的名字与电子邮箱地址,所以第一步需要配置用户名和邮箱地址。

在目录下打开git 命令行,输入

$ git config --global user.name '你的名字'
$ git config --global user.email 你的邮箱

创建SSH Key

ssh-keygen -t rsa -C "982722261@qq.com"

连续三次回车键~

然后返回结果找到对应生成的id_rsa.pub(公钥可公开),用记事本打开,把对应内容保存到你的github上面的设置中,在这里~

本地仓库搭建

随便新建一个文件夹,在文件夹目录下打开git命令行,输入

git init

会在目录下生成一个git文件,这个git文件负责管理这个文件夹的所有文件,也就是本地仓库~

然后再这个文件夹下面写一些代码啦~写一些程序啦~

推送

当你在这个目录下写完代码后,需要推送到github的时候,打开git命令行,输入

git add . 
.代表当前目录下所有文件,可以把.换成当前目录下的文件夹

这样就是把所有的文件保存到本地仓库~

还有如下命令

·  git add -A  提交所有变化
·  git add -u  提交被修改(modified)和被删除(deleted)文件,不包括新文件(new)
·  git add .  提交新文件(new)和被修改(modified)文件,不包括被删除(deleted)文件

撤销已经git add的文件

git reset HEAD 将file退回到unstage区

然后可以把本地仓库的内容写入缓存,写入缓存后就能推送啦~

输入

git commit -m '第一次版本提交'

加入缓存后,你还需要制定推送到哪个仓库呀~

git remote add origin git@github.com:你的名字/你在github上面创建项目的名字.git

如果出现 remote origin already exists ,删除分支即可

git remote rm origin

删除后,重新输入

git remote add origin https://github.com/你的名字/你在github上面创建项目的名字.git

当这一切都搞定后,使用一句命令开始推送~

git push -u origin master

如果出现 error: RPC failed; curl 56 OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno 10054

的时候,使用命令:

git config http.sslVerify "false"

如果出现 git config http.postBuffer 524288000 这里命令设置了通信缓存大小,之前发生错误是同步数据过大导致。

x2 就是这么大 git config http.postBuffer 1048576000 也就是100M,但是没用,最大50M

使用命令:

git config http.postBuffer 524288000

如果Git远程推送文件太大的error解决

error: RPC failed; curl 56 OpenSSL SSL_read: SSL_ERROR_SYSCALL, errfno 10054

方法1:

改成ssh推送

方法2:

把推送的缓存扩大

#首先设置通信缓存大小
git config http.postBuffer 524288000  
#然后把缓存清除
git filter-branch --index-filter 'git rm -r --cached --ignore-unmatch <file/dir>' HEAD

走代理

本地开启VPN后,GIt也需要设置代理,才能正常略过GFW,访问goole code等网站

设置如下(可复制):

git config --global http.proxy socks5://127.0.0.1:1080

git config --global https.proxy socks5://127.0.0.1:1080

取消

git config --global --unset http.proxy

git config --global --unset https.proxy

push出现问题

有一次提交,出现:

error: failed to push some refs to 'https://github.com/langzifun/

问题原因是:

远程库与本地库不一致造成的,在hint中也有提示把远程库同步到本地库就可以了。

解决方法:

git pull --rebase origin master

提交的时候,使用这一条命令

该命令的意思是把远程库中的更新合并到(pull=fetch+merge)本地库中,–-rebase的作用是取消掉本地库中刚刚的commit,并把他们接到更新后的版本库之中。出现如下图执行pull执行成功后,可以成功执行git push origin master操作。

转载来源

下载文件网速慢

修改host文件地址

hosts文件路径:C:\Windows\System32\drivers\etc\hosts

添加三行内容

192.30.253.113  github.com
151.101.25.194 github.global.ssl.fastly.net
192.30.253.121 codeload.github.com

cmd下执行命令

ipconfig /flushdns

如果在走ss代理,使用chrome下载速度起飞。

转载来源

上传速度慢

将你的host文件改成这样

192.30.253.113  github.com
151.101.25.194 github.global.ssl.fastly.net
192.30.253.121 codeload.github.com
151.101.188.133 assets-cdn.github.com 

如果不行修改这一行

151.101.72.249 github.global.ssl.fastly.net

执行ipconfig /flushdns命令

然后设置走你的ss代理

用git内置代理,直接走系统中运行的代理工具中转,比如,你的 SS 本地端口是 1080,那么可以如下方式走代理:

git config --global http.proxy socks5://127.0.0.1:1080
git config --global https.proxy socks5://127.0.0.1:1080

也可以停走代理:

git config --global http.proxy ""
git config --global https.proxy ""

速度在200k/s~5M/s

删除历史纪录

转载地址

1.切换到新的分支

git checkout --orphan latest_branch
  1. 缓存所有文件(除了.gitignore中声名排除的)

    git add -A
    
  2. 提交跟踪过的文件(Commit the changes)

    git commit -am "commit message"
    
  3. 删除master分支(Delete the branch)

    git branch -D master
    

5.重命名当前分支为master(Rename the current branch to master)

git branch -m master

6.提交到远程master分支 (Finally, force update your repository)

git push -f origin master

总结

总之,如果第一次使用的话,需要配置文件,生成ssh-key,然后保存到你的GitHub设置中~

然后每次都是:

新建文件夹-->git init-->git add . -->git commit -m "first commit"-->git remote add origin https://github.com/你的名字/你在github上面创建项目的名字.git-->git push -u origin master
坚持原创技术分享,您的支持将鼓励我继续创作!

-------------本文结束感谢您的阅读-------------

腾讯云主机优惠打折:最新活动地址


版权声明

LangZi_Blog's by Jy Xie is licensed under a Creative Commons BY-NC-ND 4.0 International License
由浪子LangZi创作并维护的Langzi_Blog's博客采用创作共用保留署名-非商业-禁止演绎4.0国际许可证
本文首发于Langzi_Blog's 博客( http://langzi.fun ),版权所有,侵权必究。

0%