首先学习git建议看廖雪峰的git教程。学习成本很低。
git init
初始化一个仓库,cd到一个你想作为仓库的文件夹,使用git init
命令。目录下多了一个.git的目录,这个目录是Git来跟踪管理版本库的
git add
可反复多次使用,添加多个文件;
git commit -m
commit可以一次提交很多文件,所以你可以多次add不同的文件, -m后面输入的是本次提交的说明,可以输入任意内容,当然最好是有意义的,这样你就能从历史记录里方便地找到改动记录。
git status
仓库当前的状态
git diff
查看具体修改了什么内容
git log & git reflog
查看历史记录,当版本回退之后,使用git log找不到回退之前的记录,可以使用git reflog,它记录着所有的操作
git reset --hard HEAD^
回退到上一个版本,上一个版本就是HEAD^ ,上上一个版本就是HEAD^^ ,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100。
注意:其中 --hard 是硬回退,会丢弃所有的更改,完全回到指定的版本。使用–soft会保留更改
git reset --hard <commit_id>
用git log 找到commit_id,回到指定版本
git reset --soft <commit_id>
软回退,并不删除修改
git checkout – file
丢弃工作区的修改,git checkout – file命令中的–很重要,没有–,就变成了“切换到另一个分支”的命令
git reset HEAD
可以把暂存区的修改撤销掉(unstage),重新放回工作区
, git reset命令既可以回退版本,也可以把暂存区的修改回退到工作区。当我们用HEAD时,表示最新的版本。
git checkout -b dev
git checkout命令加上-b参数表示创建并切换,相当于以下两条命令:
git branch dev
git checkout dev
git branch
查看分支:git branch
创建分支:git branch
切换分支:git checkout
创建+切换分支:git checkout -b
合并某分支到当前分支:git merge
删除分支:git branch -d
git stash
将工作区储藏起来,通常用于修复bug时,将工作区内容储藏,或在工作区有修改的情况下,先git stash,然后git pull,之后git stash pop,如果有冲突,解决冲突
git stash apply && git stash pop
恢复,但是恢复后,stash内容并不删除需要用git stash drop
来删除
另一种方式是用git stash pop,恢复的同时把stash内容也删了: