一个学习git的网站:learngitbranching
记得当年大一下学期的时候疫情在家没事参加了一个学习前端的活动,活动中就让用这个网站学习git,当时不知道为什么也没学明白,今天晚上没事无意间打开这个网站发现还挺好玩,边玩边记录下
git add filename 添加文件到暂存区
git commit -m message 提交暂存区中的文件并附带提交信息
git log 查看日志
git branch 查看分支
git branch newBranchName 新建分支
git checkout branchNameTo/tagName/HashCode 切换到分支
git branch -f branchName branchNameTo/tagName/HashCode 使分支指向
git tag 显示标签
git tag v1.0 给当前分支打标签
git merge toBeMergedBy 把其他分支的代码合并过来
git clone url 克隆仓库
git pull 从远程仓库拉取
git push 提交到远程仓库
git remote add origin https://github.com/ZhengLin-Li/learnGit.git 指定远程仓库名称和地址
git remote -v 查看远程仓库状态
git push origin branchName 提交到远程仓库的某分支
git pull origin branchName 从远程仓库拉取的某分支
git diff 比较当前文件和暂存区文件差异
level 1
git commit提交
git branch <branchname>在当前HEAD新建一个分支,名为branchname,注意只是新建并不切换
使用git checkout -b (branchname)命令来创建新分支并立即切换到该分支下
没有参数时,git branch会列出你在本地的分支
git checkout <branchname>切换到branchname分支
git merge <branchname>合并当前分支到branchname分支
git rebase <branchname>复制一个提交序列,使之看上去像顺序开发的线性序列
level 2
git checkout <哈希值>让HEAD指向哈希值分支 之前是HEAD -> main -> C1,分离HEAD后是HEAD -> C1- 相对引用
使用
^向上移动 1 个提交记录,例如git checkout HEAD^,git checkout bugFix^
使用~<num>向上移动多个提交记录,如~3 git branch -f <branchname> <branchname>让一个分支指向另一个提交
例如git branch -f main HEAD^让main分支指向另一个提交HEAD的父父父git reset <brachname>git reset向上移动分支到branchname,原来指向的提交记录就跟从来没有提交过一样,只在本地有用
git revert <brachname>在当下分支到下一级新建并指向一个和之前(branchname的前一个)一模一样的分支,对远程分支有用
level 3
git fetch <url>可以将git fetch的理解为单纯的下载操作
git fetch并不会改变你本地仓库的状态。它不会更新你的main分支,也不会修改你磁盘上的文件。
远程分支反映了远程仓库在你最后一次与它通信时的状态git pull <url>先抓取更新再合并到本地分支
git pull就是git fetch和git merge的缩写!
今天先玩到这,以后有时间接着玩hhh