最近知道了一个学习git超级超级超级好用的网站
就像玩游戏一样,一关一关的
而且还有超级直观的图形界面
于是就学了,并且做了点笔记
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
git branch [name] 创建分支
git commit 提交分支
git checkout [name] 切换分支
git checkout -b [git branch name] 新建分支的同时,切换到新的分支
git merge [name] 把name这个分支合并到当前所在的分支,会创建新的合并提交
git rebase [name1] [name2] 也是合并分支,把name2分支合并到name1
HEAD 指向当前分支上最近一次提交记录
^向上移动一个提交记录
~[num]向上移动多个提价记录
git branch -f main Head~3 强制把main分支前移3个节点
git reset HEAD~1 回退一步 ,撤销本地分支
git revert HEAD 使远程撤销有效,原理是引入一个新的提交,撤销之前的操作
git cherry-pick [提交号] 将某些提交复制到当前位置
git rebase -i HEAD~4 弹出UI界面,通过拖拽完成调整,删除操作
git commit --amend 修改最前端的记录
git tag [标签名] [节点名] 把节点名的标签名命名为标签名
git describe [ref] 用来描述离ref最近的锚点
git bisect 查找产生Bug的提交记录的指令
git checkout main^选择main的第一个父提交,^后面不加数字的话就是默认第一个父提交
git checkout main^2 选择main的第二个父提交
git clone 在本地克隆远程仓库
[remote name] /[branch name]
git fetch 从远程仓库获取数据
git fetch origin foo 从远程仓库foo分支上,获取所有本地不存在的提交,放到本地o/foo上
git fetch origin [source]:[destination] 从远程仓库source获取数据到本地仓库destination
git fetch origin :bugFix 如果 fetch 空 到本地,会在本地创建一个bugFix分支。
git push origin :side 删除远程仓库中的side分支
git pull 是git fetch和git merge的合并
git pull --rebase是fetch和rebase的合并
git pull origin foo 相当于 git fetch origin foo; git merge o/foo
git pull origin bar~1:bugFix 相当于git fetch origin bar~1:bugFix; git merge bugFix
git push 将变更上传到远程仓库
git push [remote] [place]
如 git push origin main 切到本地仓库中的“main”分支,获取所有的提交,再到远程仓库“origin”中找到“main”分支,将远程仓库中没有的提交记录都添加上去,搞定之后告诉我。
git push origin [source]:[destination] 为源和目的地执行位置,把本地仓库的source,推送到远程仓库destination
git checkout -b totallyNotMain o/main 创建一个新分支totallyNotMain,它跟踪远程分支o/mian, 通过远程分支检出一个新的分支
git branch -u o/main foo 让foo分支跟踪远程分支o/main