文章目录
参考链接:
本地项目代码上传到远端GitLab仓库
git 上传代码到GitHub 以及git删除github上文件和文件的命令
准备工作
- 注册gitlab或者github账户。
- 新建仓库。
- 安装git工具
参考廖雪峰网站 安装git
上传的步骤
step1:新建本地仓库。
右键选择文件夹会出现git GUI here和git Base here ,前者选择指定文件夹用来创建本地仓库,后者用来进入git命令行
step2:绑定用户。
以GitHub为例,下面的xxxxx填入你的GitHub的账户名以及邮箱。
git config --global user.name "xxxxx"
git config --global user.email "xxxxx"
报错 “user.name has multiple values” 的解决办法:
先查看
git config --list
再修改name、email
git config --global --replace-all user.email "输入你的邮箱"
git config --global --replace-all user.name "输入你的用户名"
继续查看,修改成功。
git config --list
step3:为Github账户设置SSH key
如果使用http上传,则跳过该步骤。
ssh-keygen -C '输入你的邮箱' -t rsa
把文件夹下的id_rsa.pub文件内容全部复制。打开github/gitlab账户设置,添加即可。
github的方法是点右上角头像 - setting - SSH and GPG keys - New SSH key)
step4: 初始化本地仓库
git init
step5: 关联远程仓库
git remote add origin git@github.com:Stupid-Human/Blog.git
git@github.com:Stupid-Human/Blog.git 就是你的仓库地址(下同),寻找方法如下
如果出现错误:fatal:remote origin already exists,先清除一下关联关系:
git remote rm origin
再重新关联
git remote add origin git@github.com:Stupid-Human/Blog.git
检查关联是否已建立且正确:
git remote -v
step6: 获取远程库与本地同步合并
如果远程库与本地仓库不一致,必须做这一步,比如远程库不为空,本地仓库为空时就要做这一步。
git pull --rebase origin master
step7: 把当前分支master推送到远程
git push -u origin master
执行完之后如果无错误就上传成功了。
需要提示的是这里的 master 是 GitLab默认的分支,如果你本地的当前分支不是 master,就用git checkout master命令切换到master分支,如果你想用本地当前分支上传代码,则把上面两条命令里的 master 切换成你的当前分支名即可。
如果推送不成功,先pull一下,如果报错fatal: refusing to merge unrelated histories,说明本地和远端的git库是两个 根本不相干的 git 库, 然后本地要去推送到远端, 远端觉得这个本地库跟自己不相干,所以告知无法合并。解决方法:强制合并:
git pull origin master --allow-unrelated-histories
后面加上 --allow-unrelated-histories ,意思是把两段不相干的分支进行强行合并。
然后再将代码推送到远端。
step8:提交本地代码
本地仓库目录新建了一个你要上传的文件,或者进行了源代码的修改。需要提交时依次使用以下命令。
git add readme.txt
git commit -m 'readme.txt'
git push
本次修改是新建了readme.txt文件。如果有多个文件新建或者修改时,可以使用以下命令来实现批量提交。
git add .
git commit -m 后面引号内容的是本次提交的说明
删除的步骤
在github上我们是不能直接删除仓库的文件,我们只能通过终端命令来删除我们不想要的文件或者目录。
删除服务器文件/文件夹,本地保留。
git rm --cached -r useless
git commit -m "remove directory from remote repository"
git push