一、网页端:创建github账号及远程仓库
在官网注册账号,新建仓库,最好不要选择initial readme的选项,后面会有冲突,难以push
二、ubuntu终端:
1、建立github链接,创建SSH Key,并配置到自己的账户中
sudo apt-get update
sudo apt-get install git
git init
git config --global user.name "Your Name"
git config --global user.email "youremail@domain.com"
在.ssh/文件夹下
ls -a
找到id_rsa,复制里面的全部内容,打开网页端账户的SSH Keys,粘贴保存。(title随便填)
三、上传文件至远程仓库:复制远程仓库的SSH链接
进入想上传的文件夹
git -T git@github.com #出现Hi! XXX.....即表示已经连上github
git add </path/to/file.name>
git add #上传所有路径下所有文件,不包括文件夹
git status #查看文件,添加完毕后
git commit -m "add your commit"
git remote add origin git@sshxxxxxxxx.com
我出现了错误:
fatal: remote origin already exists
解决办法:
git remote rm origin
再一次
git remote add origin git@sshxxxxxxxx.com
git push origin master
又出现了错误:
error: failed to push some refs to 'git@sshxxxxx.com'
解决办法:
$ git pull --rebase origin master
error: Cannot pull with rebase: Your index contains uncommitted changes.
$ git stash
Saved working directory and index state WIP on master: ace6187 keras DNS
HEAD is now at ace6187 keras DNS
$ git pull --rebase origin master
$ git stash pop
$ git push -u origin master
成功!
四、远程仓库删除文件、修改文件、文件重命名
在本地仓库路径
$ git pull origin master
$ git rm -f <file.name> #删除仓库文件及本地文件
$ git rm --cached <file.name> #仅删除仓库文件
$ git rm -r --cached <fodername/> #删除文件夹
$ git add <file.name>
$ git commit -m "description"
$ git push origin master
五、fork别人的工程再提交
补充一个:多个分支下切换分支
$ git branch -a
$ git checkout branch-name
1、首先fork到自己工程下,点一下就ok
2、进入自己的主页git clone下来工程
3、本地更改代码
4、开始准备提交
$ git add -A
$ git commit -m 'update your commit here'
$ git push
如果需要提交到不是master的分支上比较复杂,指令是
$ git push origin HEAD:branch-name
#这里的分支就是名字,例如在切换分支时用的remotes/origin/dev,这里就是dev
如果传不上去,尝试
$ git config http.postBuffer 524288000
#再运行一次指令,如果仍不行
$ vim ~/.ssh/config
# 写入
Host *
ServerAliveInterval 30
ServerAliveCountMax 5
# 再运行
目前是这样做的,如果后期有改善的话会持续更新