目录
更多内容可以点击这里查看个人博客:个人博客
一、上传文件到仓库
1、首先新建一个github仓库
然后先记住这一句指令
2、下载git工具
https://git-scm.com/downloads
下载工具安装不用运行
3、使用git工具上传文件并推送
找到你想上传的文件的位置,右击git Bush here
git init
:初始化这个仓库
git add 加上你想要添加的文件
把想要的文件存到暂存区
git remote add origin URL
将本地仓库连接到远程仓库,使用的是创建仓库时的那段代码
git commit -m "第一次推送"
添加一些注释,来解释这次提交修改了啥
git push origin master
最后推送到仓库的master分支,会显示完成
回到仓库查看状态
至此一个最简单的文件推送完成了,后续若是修改了里边的文件,git会自动识别。在历史提交里可以看到每次提交之间的代码变动。
二、修改文件后上传
修改文件后可以使用git status
来查看文件的状态
可以看到上边是我修之前推动过的文件现在发生了修改,但是还没有储存到暂存区所以是红色
对于这些文件我的git初始是创建在2023spring,但是我可以在我当前的这个文件夹gitbush,同样是push到父类的git
现在我想忽略我不要的文件,将我需要的文件上传,可以在当前文件夹新建一个.gitignore
文件,并且往里边添加你不想要上传的路径,这样你在使用git add . (上传所有文件时)时就只会上传你想要的文件,最后在push到仓库。
.gittignore更详细的忽略规则大家可以自己搜索,我也会整理一些。
#忽略dont need下的所有东西
dont need/
#忽略当前所有目录下里边的__pycache__文件夹下的东西
**/__pycache__/
三、暂存区上传文件错误(删除文件),清空暂存区
之前想尝试清空暂存区直接把本地的文件都删了,嘎了 用的这个git reset --hard HEAD^
(垃圾教程害人不浅)。
可以先查看文件的状态git status
,这里我是有文件在暂存区的
先把他清空git reset HEAD -- .
,再次查看,没有绿色文件了
我再次添加文件git add .
,查看也能发现dontneed文件夹下的文件没有被放入,因为我设置了.gittignore
三、! [rejected] master -> master (non-fast-forward)冲突无法提交
这个错误通常发生在你试图推送到远程分支时,远程分支的提交历史已经超出了你当前本地分支的提交历史。这种情况下,你需要先将远程仓库的更改拉取到本地,合并后再尝试推送。(也可查看下方第五条修改)
1、强制提交
git push origin master -f
强制推送会覆盖远程仓库的提交历史。还能够查看和历史,看和上次代码有哪些不一样。
四、github太慢了,切换到码云
先在码云新建一个仓库,复制自己原来的仓库。
切换到git bush把原来连接的github仓库删除,使用命令git remote rm origin
然后绑定码云的gitgit remote add origin https://gitee.com.XXXXXX.git
后边就更github的推送方式一样,add,commit,push就行。
五、报错传输了100M以上的文件无法提交
我在传C++代码时直接git add .
把所有文件添加到暂存区,但是提交不上,使用git reset HEAD -- .
清除暂存区,在只添加cpp和h时也发生了这样的错误。这个错误提示说明你的推送操作遇到了 GitHub 的文件大小限制。GitHub 的文件大小限制为100MB,而你的某些文件超出了这个限制。
先把你改好的东西拷贝一份备用
1、先使用git log
查询你的历史提交,找到你出错前最后的commit,我是从自定义信号槽和信号这个提交开始提交不上一直报错
2、接下来的操作会更改本地文件做好备份!!!
使用git reset --hard (commit代码来回退仓库的状态)
同时会修改本地仓库的文件,同时删除它之后的提交历史。
3、更新云端仓库
使用$ git push origin master --force
强制更新云端仓库。
4、重新添加文件提交
把备份的的文件复制进修改后的文件夹,add,commit,push,成功提交。