记一次git使用,把本地工程上传至github下指定repo

1.安装gitgit

2.定位到工程目录下,右键打开git bashgithub

3.执行sql

>git init缓存

>git config --global user.name "secondwatchCH"bash

>git config --global user.email watch_ch@163.comssh

>ssh-keygen -t rsa -C "watch_ch@163.com"
回车,y,回车,回车,回车curl

4.在github上创建新的repo,例如https://github.com/secondwatchCH/EFS.git编辑器

打开上图中所示的文件夹,找到id_rsa.pubpost

打开并复制到https://github.com/settings/keys下的SSH keys中。url

作完以后,验证下是否成功。

>ssh -T git@github.com

5.上传本地工程

>git init

>git add .

>git commit -m "first"

>git remote add origin https://github.com/secondwatchCH/EFS.git

>git push origin master


(在第一次上传时,可能会遇到错误,error: failed to push some refs to)
缘由是,github中创建工程时,有时会默认创建README.md文件,而此文件可能在你本地工程中不存在。
解决办法:执行合并,合并完成后再提交便可。

> git pull --rebase origin master

 

6.在不一样机器上同步开发

我有一台笔记本,还有一个台式,我想一同开发,并用git进行同步。

当每次开发完代码,可使用git更新远程的仓库。

>git add .

>git commit -m "experimnt"

>git push origin master

而用台式时,首先须要更新下本地的仓库

>git pull

若是有时候台式机上的代码被咱们修改了部分,这时候会报错,由于检测到本地代码已经更改。

此时可用下面指令,忽略本地代码更新,而直接与云端代码同步。

>git reset --hard

>git pull

6.1下载

pull时碰到了一问题

RPC failed; HTTP 504 curl 22 The requested URL returned error: 504 Gateway Time-out The

多是我在该文件下面放了数据集和结果集,致使文件过大没法下载。我经过下面两条语句完成了想要的功能。

>git config --global http.postBuffer 1024000000

>git pull --depth=1

 6.2merge问题。

fatal: refusing to merge unrelated histories

>git pull --allow-unrelated-histories

>git reset --hard FETCH_HEAD

>git pull

6.3大文件上传问题

碰到一个问题,在台式机上代码生成了一个大的数据文件。使用git上传时提示超过100M限制。最初设想把它移出到外面去,可是任然报错,解决,删除本地的缓存。且可以使用ignore方法,直接放在文件夹内,不须要移出。

>git rm -r --cached .

>git commit --amend -CHEAD

>git add .

>vi

|exp3.sql

>git commit -m "ignore"

>git push origin master

 若是你已经使用git push提交过不少次,且报了上述文件太大的错误,这些操做会被记录下来,且须要用下面的方式清除历史记录并从新扫描上传。

我最终解决是经过如下方式,

>git rebase -i

在vi编辑器中,按dd删除2行历史增长数据,而后!wq退出保存。

>git add .

>git commit m "ignore"

>git push origin master

必定注意!!这里必定要再次扫描所有文件,否则你辛辛苦苦新增的东西会被丢弃掉。lz中招了!

6.4clone问题
git克隆的工程太大用https的方式会有以下问题

error: RPC failed; result=22, HTTP code = 502
fatal: The remote end hung up unexpectedly

解决办法是,增长--depth=1,只拉取master分支的最新commit。

--depth=1
相关文章
相关标签/搜索