Git使用日记
git是个分布式的版本管理工具,现在我们前端这边用它做版本管理。之前也看过一些相关资料,不过没有使用它管理过项目代码。如今,用它也有段时间了所以就写些东西,仅供参考。
###快速上手
工作经常用到的几个git命令:
1. git clone 版本库地址
克隆远程版本库到本地
2. git checkout 分支名
切换当前工作分支到某个日常分支,开始写代码
3. git add .
把工作区修改的文件添加文件到暂存区
4. git commit -m '本次提交的注释'
把暂存的内容提交到本地版本库
5. git push origin 分支名
把本地版本库当前工作分支的内容提交到远程仓库对应的分支
6. git tag 标签名
发布之前会用这个命令给版本库的当前状态打个标签,用来标识版本库的当前状态是个稳定的可发布版本
git tag publish/1.0.0 git push origin publish/1.0.0
有了这几个命令基本上就可以写代码了,使用过程中可以使用命令:
git <命令> --help ,查看某个命令的详细帮助文档。如:git commit --help ,会显示commit命令的帮助信息,看完后按q返回命令行。
###三种文件状态
在当前工作分支上执行命令:git status
可以查看本地当前工作分支下文件的状态。git有以下三种文件状态:
1. Untracked files:表示在工作区中新增加的还没有使用git add 命令添加到暂存区中的文件。
2. Changes to be committed:表示已经使用git add 命令把文件添加到了暂存区,但还没有使用git commmit命令把暂存区中内容提交到本地的版本库中
3. Changes not staged for commit:表示使用git commit提交到本地版本库后,在工作区又有改动的文件。
使用命令:git checkout —- filepath
从暂存区迁出文件到当前工作区,当前工作区的更改会丢失。
使用命令: git checkout commit —- filepath
使用当前本地版本库中最近一次提交的内容覆盖暂存区和工作区。
###常见问题
使用过程发现git有些基础性的和之前接触的版本管理工具还是有写不太一些。下面这些是我使用过程中的一些疑惑:
1. git的origin是指什么?
origin是我们git clone克隆下来的远程仓库的别名。可以使用命令:
git remote -v 查看origin指向的仓库地址。
2. git的HEAD是指什么?
git的HEAD它是一个指向当前工作分支的头指针。
3. 如何让git忽略某些特殊文件/文件?
在当前工作目录的根目录下新建一个.gitignore文件,git会忽略包含在这个文件中的文件/文件夹。一般gitinore会包含以下内容:
node_modules/
.idea/
.DS_Store
node_modules/:一般包含一些grunt打包工具依赖的nodejs模块
.DS_Store:是Mac OS保存文件夹的自定义属性的隐藏文件,如文件的图标位置或背景色,相当于Windows的desktop.ini。
.idea: 文件夹一般用来存放编辑器的配置文件
4. 如何删除一个本地tag?
git tag -d 标签名,如:git tag - d pulish/1.0.1
###最后:
天天向上,快乐工作!