⚠️小小分享一下git从0开始的学习路径,以及涵盖百分之八十使用场景的git指令总结,持续修改更新~
现在只能根据我知道的小小总结一下:
- 学习路径:
- b站视频用时:8h www.bilibili.com/video/BV1kK…
- 可视化练习学习网站:6h learngitbranching.js.org/
基于本地:
-
打开本地的文件夹(在终端中),没有被git管理过的要初始化
git init -
检测当前工作区文件夹的状况
git status- 红色 新增或改动了的文件
git add .表示全部添加到了暂存区 - 绿色 工作区中没有改动了的文件
git commit -m ''版本号或描述信息''提交到本地版本库
- 红色 新增或改动了的文件
-
一般一个项目有一个主线分支一堆支线,目前github上用的主线名称叫做 *“mian”但本地的一般自动生成的叫做“master” *。
- 生成新分支
git branch dev(dev是自己起的支线名) - 删除分支
git branch -d dev - 切换分支
git checkout master ``git switch - 创建并切换分支
git checkout -b bugFixed - 移动支线版本指针被动移动
git branch -f main HEAD~3main是要移动的支线版本名,HEAD可不在其上 - 主动移动
git checkout 版本号HEAD指针会抽离并移动到版本号上 - 固定指针
git tag tipsname 版本号
- 生成新分支
-
关于版本控制,也就是版本合并一般有两种方式:
- 结合生成一个新版本
git merge dev,注意此时的head指针*得落在master头上才行。 - 版本插入合并
git rebase master,此时*在dev上最后是会插入master这条线。 git rebase mian bugFixed,将bugFixed合并到mian中- ⚠️!!!!!!这个地方我有点不清楚他是不是能合并还是单纯的整理版本提交记录,使之成为线性记录。
git cherry-pick C2 C4挑选节点并插入git rebase -i HEAD~4将提交重新排序
- 结合生成一个新版本
-
关于查看版本:
git loggit log -graphgit reflog包括已经删去的版本也可查看git describe bugFixed描述一个可以访问的该分支上最新的提交,如果不写分支,默认查找HEAD上最新提交- 退出按q/wq
- 书写按i
-
关于版本回滚:
git reset --hard 版本号git reset HEAD~3在当前指针位置向上三个版本回滚git reset HEAD^^^一个意思git revert HEAD撤销最近一次提交git commit --amend提交描述修改,修改git提交记录
-
关于拉取代码:
git clone github仓库地址git pull github仓库地址git pull origin dev更新单个分支git pull=git fetch+git mergegit pull --rebase=git fetch+git rebasegit fetch origin dev将远程仓库中 dev 分支上本地没有的拉下来- 在这里有一个可以注意下的点,github仓库地址较长,可以先输入一个
git remote add origin github仓库地址,这里的origin是给仓库地址的别名,后面直接替换使用即可
-
关于推送代码:
git push -u origin 将要推送到的分支名不是全局推送只推送单个分支,具体还需了解!!!!!!!
-
关于和远程代码合并
git merge origin/dev远程仓库名就是origin/dev
-
一些其它tips~:
cat.git/HEADcat是查看文件的命令(生成是mkdir,进入是cd,展示是ls)cat inter.html可以在终端查看文件内容git symbolic -ref HEAD查看当前HEAD在哪个分支上git bisect查找产生bug的提交记录指令