git init
git status
git add file
git commit -m “”
git log –oneline
git reflog
git reset –hard HEAD^(版本号)
HEAD^^ HEAD~100
git diff HEAD – file
查看工作区和版本库不同
命令git checkout -- readme.txt
意思就是,把readme.txt
文件在工作区的修改全部撤销,这里有两种情况:
一种是readme.txt
自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;
一种是readme.txt
已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。
checkout -> restore
git checkout
其实是用版本库里的版本替换工作区的版本,无论工作区是修改还是删除,都可以“一键还原”
git reset HEAD <file>
可以把暂存区的修改撤销掉(unstage)
`git reset HEAD -> git restore –staged
场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout -- file
。
场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD <file>
,就回到了场景1,第二步按场景1操作。
场景3:已经提交了不合适的修改到版本库时,想要撤销本次提交,参考版本回退一节,不过前提是没有推送到远程库。
远程
git remote -v
git remote remove origin
git remote add origin git@github.com:git_username/repository_name.git
git pull origin main –allow-unrelated-histories
git push -u origin main
git push origin main
git push -u origin main -f 强制push!!
git clone url
//创建 <name> 的分支并切换
git switch -c <name>
//创建
git branch <name>
//切换到<name>分支
git checkout <name>
git switch <name>
//查看分支树
git branch
//删除分支
git branch -d <name>
//合并分支 假设这里存在 master , dev 分支
// 1 切换到要保留的分支——这里是master
git checkout master
// 2 合并掉分支dev
git merge dev
git log --graph
命令可以看到分支合并图