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

###最后:
天天向上,快乐工作!

Git使用日记的更多相关文章

  1. Git 初学者使用指南及Git 资源整理

    Git 资源整理 Git is a free and open source distributed version control system designed to handle everyth ...

  2. Web前端开发推荐阅读书籍、学习课程下载

    转自http://www.xuanfengge.com/fe-books.html 前言 学校里没有前端的课程,那如何学习JavaScript,又如何使自己成为一个合格的前端工程师呢? 除了在项目中学 ...

  3. Linux环境下第一次提交项目

    Linux环境下第一次提交项目: vi 日记 新增一个文件名为“日记”的文件 git status 工作区的状态 git add 日记 建立跟踪 git commit 提交变更 ----------- ...

  4. 看日记学git摘要~灰常用心的教程

    看日记学git linux 命令行 cd ls / ls -a clear mkdir rmdir echo "hi, good day" > hi.txt touch he ...

  5. git@oschina.net源代码管理使用日记

    git的优势: 1 可以创建分支: 2 版本控制是基于每一次提交的,而不需要考虑每次提交了多少个文件. 下载: 下载网址为:http://git-scm.com/download,根据您的操作系统选择 ...

  6. Linux(Ubuntu)使用日记(三)------git安装使用

    1. 安装 首先,确认你的系统是否已安装git,可以通过git指令进行查看,如果没有,在命令行模式下输入sudo apt-get install git命令进行安装. 2.  配置 git confi ...

  7. Git和Jenkins日记之没有新提交代码

    日期:2017/3/9 今天查看Jenkins运行代码记录的日志时,发现并没有昨天新提交的代码,然后查看了Jenkins的测试项目中所有的自动化测试用例, 并没有看到昨天新提交的测试用例,又查看了gi ...

  8. git@oschina.net源代码管理使用日记【转】

    转自:https://www.cnblogs.com/Juvy/p/3556902.html git的优势: 1 可以创建分支: 2 版本控制是基于每一次提交的,而不需要考虑每次提交了多少个文件. 下 ...

  9. Git 分支代码管理日记备注

    1〉  Bithucket 创建代码库 2〉  下载克隆代码 Git clone 代码链接 3〉  代码初始化完成之后,切换到代码文件夹 cd 文件夹名 4〉  查看分支情况 Git brach 5〉 ...

随机推荐

  1. Effective STL中文版 译序

    <Effective STL中文版>译序 就像本书的前两本姊妹作(Effective C++.More Effective C++)一样,本书的侧重点仍然在于提升读者的经验,只不过这次将焦 ...

  2. LR11.0 下载及破解

    1. 把loadrunner相关程序全部退出:2. 用LR8.0中的mlr5lprg.dll.lm70.dll覆盖LR安装目录下“bin”文件夹中的对应文件:3. 清理注册表(不清理的话,在添加lic ...

  3. 解决安卓SDK更新连不通问题

    http://wenku.baidu.com/link?url=d7t81OFF4_o2YF9iBne-azyovROGPGOozMgWKNyAIQK8vtI0mIjvzpfdOXg7KOobu202 ...

  4. nginx 配置其他路径

    gedit /etc/nginx/sites-enabled/default location /hlstest { types { application/vnd.apple.mpegurl m3u ...

  5. 【转】Xcode概览(Xcode 6版):循序渐进认识Xcode

    该系列文章翻译自苹果的Xcode Overview文档,对大部分开发者来说,已经非常熟悉Xcode的功能和特性,不过伴随着iOS 8 SDK的发布,Xcode 6中也有些许调整,所以对该文档进行了翻译 ...

  6. Codeforces Round #182 (Div. 1)题解【ABCD】

    Codeforces Round #182 (Div. 1)题解 A题:Yaroslav and Sequence1 题意: 给你\(2*n+1\)个元素,你每次可以进行无数种操作,每次操作必须选择其 ...

  7. Oracle 11g RAC环境下Private IP修改方法及异常处理

    Oracle 11g RAC环境下Private IP修改方法及异常处理 Oracle 11g RAC环境下Private IP修改方法及异常处理 一. 修改方法 1. 确认所有节点CRS服务以启动 ...

  8. XML 文档和数据

    .NET Framework 4.5 其他版本 .NET Framework 提供了一组全面而集成的类,可用来方便地生成可以识别 XML 的应用程序. 通过以下命名空间中的类,可以分析和编写 XML, ...

  9. ASP.NET MVC 入门8、ModelState与数据验证

    原帖地址:http://www.cnblogs.com/QLeelulu/archive/2008/10/08/1305962.html ViewData有一个ModelState的属性,这是一个类型 ...

  10. 1.C#中几个简单的内置Attribute

    阅读目录 一:Obsolete 二:Conditional 一:Obsolete      这个内置属性是说这个方法废弃了不可用,它有两个参数,第一个参数message是说废弃的原因,第二个参数err ...