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时碰到了一问题
多是我在该文件下面放了数据集和结果集,致使文件过大没法下载。我经过下面两条语句完成了想要的功能。
>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