# learn git note **Published by:** [Yesan](https://paragraph.com/@yesan/) **Published on:** 2022-05-08 **URL:** https://paragraph.com/@yesan/learn-git-note ## Content git init 初始化git add 添加/修改文件,保存到Stagegit commit -m 提交stage到分支仓库,message用引号git status 查看状态git diff 查看变化,diff是different缩写git log <--pretty=online> 查看日志git reset --hard commit_id 版本回退,commit_id 可以不写全,只写部份 回退上个版本:git reset --hard HEAD^git reflog 查看每一次操作记录,可找回之前最新的版本git checkout -- 新命令:git restore 撤销工作区的修改 a.修改后还没添加到暂存区,撤销后和版本库是一样的状态。 b.修改后已经添加到暂存区,撤销后回到添加到暂存区后的一样状态。git reset HEAD readme.txt 新命令: git restore --staged . 暂存区的修改撤销掉git rm 删除文件,还要commit一下,才会更新版本库git remote add origin git@github.com:michaelliao/learngit.git 远程关联git push -u origin master 远程推送 由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。git clone git@github.com:michaelliao/gitskills.git 远程克隆 假设我们从零开发,那么最好的方式是先创建远程库,然后,从远程库克隆。git branch 查看所有分支git branch dev 创建dev分支git checkout dev 切换dev分支git merge dev 先切换到master主分支,再执行合并分支git switch -c feature1 创建并切换新分支feature1git log --graph --pretty=oneline --abbrev-commit 查看分支合并情况 ## Publication Information - [Yesan](https://paragraph.com/@yesan/): Publication homepage - [All Posts](https://paragraph.com/@yesan/): More posts from this publication - [RSS Feed](https://api.paragraph.com/blogs/rss/@yesan): Subscribe to updates - [Twitter](https://twitter.com/TtYesan): Follow on Twitter