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. TF Boys (TensorFlow Boys ) 养成记(一)

    本资料是在Ubuntu14.0.4版本下进行,用来进行图像处理,所以只介绍关于图像处理部分的内容,并且默认TensorFlow已经配置好,如果没有配置好,请参考官方文档配置安装,推荐用pip安装.关于 ...

  2. MF-800U

    MF-800U 价格:200元左右 https://item.taobao.com/item.htm?spm=a230r.1.14.6.kfkqoY&id=4963072384&ns= ...

  3. PHP引号转义中解决POST,GET,Mysql数据自动转义问题

    在处理mysql和GET.POST的数据时,常常要对数据的引号进行转义操作. PHP中有三个设置可以实现自动对’(单引号),”(双引号),\(反斜线)和 NULL 字符转转. PHP称之为魔术引号,这 ...

  4. Android——BitMap(位图)相关知识总结贴

    Android中文API(136) —— Bitmap http://www.apkbus.com/android-54644-1-1.html Android 4.0 r1 API—Bitmap(S ...

  5. Distributed Result Grouping Caveats

    Distributed Result Grouping Caveats Grouping is supported distributed searches, with some caveats: 1 ...

  6. 用C/C++实现对STORM的执行信息查看和控制

    近期公司有个需求.须要在后端应用server上实时获取STORM集群的执行信息和topology相关的提交和控制,经过几天对STORM UI和CMD源代码的分析,得出能够通过其thrift接口调用实现 ...

  7. JAVA利用enum结合testng做数据驱动示例

    数据驱动是做自动化测试中很重要的一部分,数据源的方案也是百花八门了,比如利用外部文件,直接在@DataProvider中写死等等,我们今天介绍一下利用enum来做数据源,先来看一下enum的写法: p ...

  8. halcon中variation_model_single实例注释.

    * This example shows how to employ the new extensions of HALCON's variation model operators* to perf ...

  9. hive中grouping sets的使用

    hive中grouping sets 数量较多时如何处理?    可以使用如下设置来 set hive.new.job.grouping.set.cardinality = 30; 这条设置的意义在于 ...

  10. XML 文档和数据

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