git常用指令
git bash的使用
-
git init
——初始化仓库 -
git clone
——克隆仓库
使用ssh连接github.com【参考: 绑定GitHub并提交文件 - 知乎 】
安装ssh,输入
ssh
判断是否安装
ssh-keygen -t rsa
生成公钥,复制公钥并添加到github的*SSH keys
*中
ssh -T git@github.com
检测是否成功
-
git remote
-v
——显示已添加仓库remove origin
——删除已关联的仓库add origin 仓库地址
-
(
git checkout -b 分支名
——创建并切到分支 ) -
git status
——显示未暂存的修改或未跟踪的文件(新创建) -
git add
——将文件添加到缓存区具体文件
或.
-
git ls-files
——查看暂存区- –cached 或 -c:显示缓存区中的文件,这是 git ls-files 命令的默认参数
- –modified 或 -m:显示已修改的文件
- –deleted 或 -d:显示已删除的文件
- –other 或 -o:显示未被 Git 跟踪的文件
-
git rm
——清除文件-r
——recursive removal递归删除-f
——override the up-to-date check强制删除--cached <file>
——only remove from the index只清除缓存区具体文件
-
git reset [--soft | --mixed | --hard] [HEAD]
——撤销所有暂存的更改-
--mixed
为默认,用于重置暂存区的文件与上一次的提交(commit)保持一致,工作区文件内容保持不变。$ git reset HEAD^ # 回退所有内容到上一个版本,同HEAD~1,以此类推
$ git reset HEAD^ hello.php # 回退 hello.php 文件的版本到上一个版本
$ git reset 052e # 回退到指定版本 -
--soft
参数用于回退到某个版本$ git reset --soft HEAD~3 # 回退上上上一个版本,同HEAD^^^,以此类推
-
--hard
参数撤销工作区中所有未提交的修改内容,将暂存区与工作区都回到上一次版本,并删除之前的所有信息提交**注意:**谨慎使用 –-hard 参数,它会删除回退点之前的所有信息。
-
指定版本
——回退到指定版本(git log
获取,所以每次commit
认真写好注释),一般用于删除大文件的提交记录commit,回退版本
-
-
git commit
-m "注释内容"
——免得git bash
中打开vim
或VS Code
中打开COMMIT_EDITMSG
填写
-
git log
——查看提交历史 -
git pull
——更新到最新版 -
git push
origin 分支名
——推送
其他
github
仓库分支改名后本地仓库操作【github
会自动生成代码并提醒】,例如:
git branch -m main cv_car git fetch origin git branch -u origin/cv_car cv_car git remote set-head origin -a
- 不小心
add
大文件并已经commit
了,在push时才提醒报错
git rm --cached 文件名 git reset 版本号(commit大文件前一个版本) 重新add、commit、push
- 清理
.git
占用空间(参考: 5 个 Git 仓库优化命令 )git gc [--aggressive]
——清理无用对象、压缩空间git prune
——删除孤立的对象(历史上删除的分支、合并时产生的中间对象…)【一般在执行git gc
前执行;git reset
之后】-n
——显示要删除的对象,不执行删除
git clean
——清理工作目录中未跟踪的文件(无参数默认不执行)git repack
——手动优化仓库存储结构【仓库性能下降;删除分支;定期维护】[-a][-d][--aggressive]
—— 重新打包所有对象 ; 删除未使用的对象文件 ;…
git fsck
—— 检查 Git 仓库完整性,检查所有对象是否有损坏的对象或丢失的文件【仓库损坏后检查;大规模仓库操作后;定期检查】
VS Code中联机github
侧边栏——源代码管理
- 更改列表
- 暂存更改(+)
- 提交按钮(commit)【右键可提交同时推送】
- 源代码管理图
- 拉取(pull ↓)
- 推送(push ↑)