git 是什么
git 是一个源代码管理工具,可以协助团队开发项目
本地仓储和远程仓储
基本使用
如果第一次使用git需要设置用户名与邮箱 (随意设置)
git config --global user.email “XXX@qq.com”
git config --global user.name “XXX”
- 创建项目目录在项目目录中 打开git bash 初始化一个本次的仓储 创建出来一个.git 的隐藏文件夹 这个文件夹就是本地的仓储
git init
- 随便写点代码当做功能完成,现在提交代码
- 把代码提交到暂存区 git add . “ . ” 表示把所有的更新都推送暂存区
- 就暂存区中的代码 推送到 仓库中 可以使用git status 观察一下工作区的状态 记录了有些代码的修改
- git commit -m “描述性的文字信息”
代码的回滚
有的时候 我们在开发的过程中 可能会出现一些灾难性的错误导致整个项目无法启动
可以使用git的回滚来让整个项目恢复到上一次提交的状态
git reset --hard 哈希值
先使用git log 来观察提交的日志 复制需要回滚到的某一次提交的commit的哈希值
git reset --hard c9d16700e99684b253f8ae7ac9c3804c6685ee4f
创建分支与的代码合并
首先,我们创建dev
分支,然后切换到dev
分支:
$ git checkout -b dev
git checkout
命令加上-b
参数表示创建并切换,相当于以下两条命令:
$ git branch dev
$ git checkout dev
然后,用git branch
命令查看当前分支:
$ git branch
* dev
master
git branch
命令会列出所有分支,当前分支前面会标一个*
号。
然后,我们就可以在dev
分支上正常提交,比如对readme.txt
做个修改,加上一行:
Creating a new branch is quick.
然后提交:
$ git add .
$ git commit -m "branch test"
[dev b17d20e] branch test
1 file changed, 1 insertion(+)
现在,dev
分支的工作完成,我们就可以切换回master
分支:
$ git checkout master
现在,我们把dev
分支的工作成果合并到master
分支上:
$ git merge dev
Updating d46f35e..b17d20e
Fast-forward
readme.txt | 1 +
1 file changed, 1 insertion(+)
git merge
命令用于合并指定分支到当前分支。合并后,再查看readme.txt
的内容,就可以看到,和dev
分支的最新提交是完全一样的。
注意到上面的Fast-forward
信息,Git告诉我们,这次合并是“快进模式”,也就是直接把master
指向dev
的当前提交,所以合并速度非常快。
当然,也不是每次合并都能Fast-forward
,我们后面会讲其他方式的合并。
合并完成后,就可以放心地删除dev
分支了:
$ git branch -d dev
Deleted branch dev (was b17d20e).
删除后,查看branch
,就只剩下master
分支了:
$ git branch
* master
因为创建、合并和删除分支非常快,所以Git鼓励你使用分支完成某个任务,合并后再删掉分支,这和直接在master
分支上工作效果是一样的,但过程更安全。
获取远程代码
第一次获取远程仓库代码的时候 使用的命令是
git clone 远程仓库的地址
git clone https://gitee.com/XXX/XXX.git
之后获取代码 都是使用的
git pull 远程仓库的地址 分支
git pull https://gitee.com/XXX/XXX.git master
推动到远程仓库
git push 远程仓库的地址 分支名
git push https://gitee.com/XXX/XXX.git master