git 命令
git init
命令将当前目录变成 Git 可以管理的仓库
$ git init
git add
命令添加文件
$ git add readme.md
git commit
命令提交到 git 仓库
$ git commit -m ‘commit description’
git status
命令查看仓库当前的状态
$ git status
git diff
命令查看文件的差异(修改的地方)
$ git diff readme.md
git log
命令查看文件的修改历史
$ git log –pretty=oneline
git 版本
在Git中,用HEAD表示当前版本,也就是最新的提交3628164…882e1e0(每个人的都不一样),上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100。
git reset
命令重设版本
$ git reset –hard HEAD^
git reflog
命令查看版本更替历史,用来找到被回滚掉的版本号
$ git reflog
几个概念
工作区(Working Directory)
工作目录,也就是我们执行
git init
命令的那个文件夹
版本库(Repository)
在我们执行了
git init
命令之后会生成一个 .git 文件夹, git 的版本控制文件就在这里
暂存区(Stage)
git add
命令实际上就是把要提交的所有修改放到暂存区(Stage),然后,执行git commit
命令就可以一次性把暂存区的所有修改提交到分支。
git diff <file>
则是在比较工作区(Working Directory)和暂存区(Stage)的区别
为什么Git比其他版本控制系统设计得优秀?
因为Git跟踪并管理的是修改,而非文件。
git checkout -- <file>
命令将 file 在工作区的修改全部撤销
$ git checkout readme.md
git rm <file>
命令从版本库中删除该文件,和 git add
命令一样,操作完成后需要 git commit
$ git rm readme.md
使用远程仓库
git clone
命令从远端服务器克隆到本地
$ git clone [email protected]:xiaop1ng/Test.git
Git支持多种协议,包括 https
,但通过 ssh
支持的原生 git
协议速度会更快。
git remote
命令查看 git 远端仓库
$ git remote -v
git push
命令提交代码到远端仓库
$ git push origin master
git pull
命令从远端仓库拉取代码到本地
$ git pull
分支的创建与合并
创建分支
$ git checkout -b dev
合并分支
git merge
命令用于合并指定分支到当前分支。
使用 git checkout master
切换到 master 分支后
$ git merge dev
合并 dev 分支到 master
删除分支
$ git branch -d dev
查看分支
$ git branch