GitHub(Gitee) 和 Git 的使用笔记(持续更新)
文章目录
新建仓库并上传代码
- 在 GitHub 网站上新建一个仓库。
- 本地初始化仓库并上传代码
git init
git add .
git commit -m "first commit"
git remote add origin https://github.com/lusongno1/drops2.git
git branch -M main
git push -u origin main
关于 GitHub Pages
目前想要将网页托管,需要将仓库设置为共有账户或者付费的私有仓库。
上传好仓库文件后,需要将网页 publish 成可访问的网页。在 Settings-> GitHub Pages 下,如果看到,形如
Your site is ready to be published at https://lusongno1.github.io/xxx/
表示成功,静待几分钟即可。
Git 操作撤销总结
git reset
有五个状态,我们用英文字母来表示:
- A:本地没改(orgin)
- B:本地已修改(modified)
- C:已 add (staged)
- D:已 commit (committed)
- E:已 push (pushed)
git reset --hard xxx
:无论哪里,直接强制到 A(某版本)。
git HEAD
:等价于 git --mixed HEAD^
,直接到 B,保留本地修改。也就是说,不管用这个命令回退到哪个版本,变的只是 D,C 跟随 D,B 不动。
git reset --soft HEAD^
:回到 C 状态,缓冲区的东西还在。
强制回滚到 github 最后版本
git fetch --all
git reset --hard origin/main
git pull origin main
丢弃临时修改,回退得到本地 HEAD 版本
git checkout .
or
git reset --hard (上已介绍)
git 使用 reset 后如何回来
尝试 git reflog
查看历史版本号,再使用 git reset
git pull 强制覆盖本地
git fetch --all
git reset --hard origin/main
git checkout 只放弃本地
使用 git checkout .
只放弃本地的修改,已 add 和 commit 的不回滚。
一些问题解决
github中文件夹后面跟@+数字什么意思?为什么git clone下来里面是空的?
@后面的数字是哈希值,用于确定唯一的提交状态。文件push时会压缩,然后上传同时生成一串检验字符串。at后面的数字就是检验字符串的前面部分。
是带有子模块的项目;需要进入下载的文件下,运行命令 git submodule update --init --recursive 即可。
无法添加远程仓库
在一台新机器上连接远程仓库:
git remote add origin https://gitee.com/lusongno1/thesis.git
此前要先 git init
。