- 创建版本库
版本库:responsitory 可以简单理解成为一个目录,这个目录里面的所有文件都可以被git管理起来。
(1)创建一个新目录
$ makdir learngit
$ cd learngit
$ pwd //pwd 命令用于显示当前目录
(2)通过git init命令把这个目录变成Git可以管理的仓库
- 把文件添加到版本库
注意 创建的文件一定要放到前面创建的 目录或者子目录下面
(1) 命令git add 把文件添加到仓库
$ git add readMe.text
(2) 命令git commit 把文件提交到远程仓库
$ git commit -m "write a readMe file"
备注:-m "xxx" 是为提交的文件添加备注信息
- 上下五千年
- 命令git status 查看提交的结果,可以让我们时刻掌握仓库当前的状态
- 命令git diff 查看我们对文件做了什么修改
(1) 版本回退
-
命令git log 显示最近到最远的提交日志(如果输出的信息太多可以尝试加上 --pretty=oneline)参数
-
在Git中 HEAD 表示当前版本即最新提交的版本,上个版本则表示为HEAD^ 以此类推,若版本数量过于庞大可以哟那个数字指明版本 HEAD~20
$ git reset --hard HEAD^
备注:回退到上个版本
返回之前的版本
$ git reset --hard (commit id) //id 可以不用完全写完 -
git reflog 查看命令历史 以便确定要回退到未来的哪个版本
(2)撤销修改
-
命令git checkout – file
两种情况:
— file 文件被修改之后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态
— file 文件已经被添加到了暂存区后,又做了修改,现在,撤销修改就回到添加暂存区后的状态 -
命令 git reset HEAD 可以把暂存区的修改撤销掉(unstage),重新放回工作区
git reset 命令,不仅可以回退版本,还能够把暂存区的修改回退到工作区,HEAD表示当前最新的版本
- 分支管理
4.1 创建与合并分支
(1)创建test分支并切换到test分支
$ git checkout -b test
备注: git checkout 加上 -b参数 表示创建并切换 相当于两条命令
// git branch test
// git checkout test
然后 可以用 git branch查看当前分支(会列出所有的 分支 当前分支有一个*)
(2)分支提交
$ git add readMe.text
$ git commit -m "branch test"
(3)切回master分支 $ git checkout master
(4)把test分支的工作成功合并到master分支
git merge test
小结
查看分支:git branch
创建分支:git branch <name>
切换分支:git checkout <name>或者git switch <name>
创建+切换分支:git checkout -b <name>或者git switch -c <name>
合并某分支到当前分支:git merge <name>
删除分支:git branch -d <name>