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 pushorigin 分支名——推送
其他
.gitignore文件的使用添加要忽略的文件(所有同名或指定文件或指定规则)或要忽略的文件夹;或加
!符号变为白名单常用于忽略隐私文件、大文件(.zip/.mp4)、二进制文件【会使git追踪的修改过多】(.exe/.jpg)、编译过程文件(.o/.obj…)、日志文件(.log)等
参考: Git .gitignore 文件上传过滤配置_git过滤配置-CSDN博客
其中有常见的
.gitignore文件配置github多人合作——参考: GitHub 多人队伍合作详细教程_github团队协作-CSDN博客github仓库分支改名后本地仓库操作【github会自动生成代码并提醒】,例如:
1
2
3
4 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时才提醒报错
1
2
3 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 ↑)