要使用Git进行版本管理,必须先初始化仓库。在初始化仓库之前必须先在本地实际创建一个目录用于代码管理。
$ mkdir git-test
$ cd git-test
$ git init //初始化仓库
git status 使用git status 可以查看仓库的状态,是一个十分常用的命令。
git add 在用git仓库的工作树创建了文件之后,该文件并没有添加到git仓库的版本管理对象当中,需要使用 git add 命令将其加入到暂存区中。暂存区是提交之前的一个临时区域。
git commit 命令将当前暂存区中的文件实际保存到仓库的历史记录中去。通过这些历史记录可以在工作树种回复原文件。
git log 该命令可以查看以往仓库中提交的日志。包括什么人在什么时候进行了提交或合并,以及操作前后的差别。
git diff 该命令可以查看工作树、暂存区、最新提交之间的差别。
git branch 该命令可以查看所有分支名并显示当前所在分支。前面有 * 标记的分支即为当前分支
git branch <branch name> 该命令可以创建一个分支
git checkout <branch name> 该命令可以切换到指定的分支
以上两条命令连续执行可以创建并切换到某一分支,同时也可以使用一条命令完成: git checkout -b <branch name>
git merge --no-ff branch-B 可以将某一分支branch-B合并到分支branch-A并将合并记录提交到历史记录中去,但在合并前必须先切换到分支branch-A。
在合并时,可能出现两个分支中的文件内容出现冲突,此时打开冲突文件,修改内容即可。但在修改之前必须仔细分析冲突的内容再修改。
git log --graph 以图表形式查看分支,其可以清楚的看到给分支修改都过程。
git remote add 可以添加远程仓库
git remote add origin 仓库路径 git@github.com:<username>/<repositoryname>.git为github的仓库路径格式
https://git.coding.net/<username>/<repositoryname>.git为coding的仓库路径格式
git push -u origin <barnchname> 可以将本地分支推送至远程仓库
git pull origin <barnchname> 可以获取最新的远程仓库的分支
git clone 仓库路径 可以将远程的仓库下载到本地
git更新文件冲突 Please, commit your changes or stash th
如果系统中有一些配置文件在服务器上做了配置修改,然后后续开发又新添加一些配置项的时候,
在发布这个配置文件的时候,会发生代码冲突:
error: Your local changes to the following files would be overwritten by merge:
protected/config/main.php
Please, commit your changes or stash them before
you can merge.
如果希望保留生产服务器上所做的改动,仅仅并入新配置项, 处理方法如下:
git stash
git pull
git stash pop
然后可以使用git diff -w +文件名 来确认代码自动合并的情况.
反过来,如果希望用代码库中的文件完全覆盖本地工作版本. 方法如下:
git reset --hard
git pull
其中git reset是针对版本,如果想针对文件回退本地修改,使用
git checkout HEAD file/to/restore