缘起

年后到了新公司,由于个人意愿到了一个海外的项目组,除了自己从Java技术栈转了C#技术栈外,很多技术都是第一次使用,学习压力不小啊.

自己也就先从常用的技术开始学起,比如C#,AngularJS,git.其中在学习git时,同事给推荐了一个网站tryGit,虽然早在13年就自己学了过git的知识,可惜实践的较少,命令也基本忘得差不多了.今天晚上抽时间上来练习了一下,感觉这个网址学习git基本命令还不错.但也发现了些问题,由于照着提示练习的命令,并没有很好的记住.感觉整理出来,当忘记的时候翻出来看一下要比在问谷歌或百度要更快些.于是又照着教程敲了一遍,整理了几个基础命令.

基础命令

  • git init 将当前目录设置成git directory(repository)

  • git status 查看working directorystaging area里文件状态.三种状态的文件将被显示出来,分别是untrcked,modified,staged.状态是unmodified的文件不会被显示.

  • git add octocat.txt 添加文件到staging area.

  • git commit -m "Add a file" 提交文件到git directory.

  • git add "*.txt" 添加文件到staging area.

  • git log 查看commit日志.

  • git remote add origin https://github.com/try-git/try_git.git 添加远程仓库,其中origin 是远程仓库名称.

  • git push -u origin master 推送git directory里的代码到远程仓库.其中-u的作用是记录住这个远程仓库,以后再执行推送只需要敲git push.

  • git pull origin master 更新代码从远程仓库,其中origin 是远程仓库名称,master是远程仓库分支名称.

  • git diff 显示working directorystaging area间文件的差异.

  • git diff --staged (或 git diff --cached) 显示staging areagit directory间文件的差异.

  • git diff HEAD 显示working directorygit directory间文件的差异.

  • git diff HEAD^ 显示working directory与上次提交的差异.

  • git diff HEAD~2 显示working directory与上2次提交的差异.

  • git diff --stat 显示working directorystaging area间文件的差异.但只列出文件名.

  • git reset octofamily/octodog.txt 将文件从staging area回滚到working directory中.即将文件混滚到add前的状态.

  • git checkout -- octocat.txt 将文件回滚到修改前的状态.即丢弃对文件的修改.

  • git branch clean_up 创建分支,其中clean_up是分支名称.

  • git checkout clean_up 切换到分支.

  • git rm '*.txt' 删除文件.

  • git merge clean_up 当前分支合并clean_up分支的代码.如果遇到冲突,需要解决冲突,然后commit后完成合并.

  • git branch -d clean_up 删除分支,其中clean_up是分支名称.

  • git push 推送代码到远程分支.

结语

会这么几个命令基本上一个人使用git是没有任何问题了,因为不会遇到代码冲突.但是团队使用还是要深入的学习下处理冲突的方法,分支的管理.

这个网址https://git-scm.com有继续学习git的资料.

这个网址https://git-scm.com/book/en/v2能够在线阅读«Pro git».

参考

关于作者

学习 git基础命令的更多相关文章

  1. git 基础命令 学习总结

    首先介绍一个git 里工作流的概念: 你的本地仓库由 git 维护的三棵“树”组成.第一个是你的 工作目录,它持有实际文件:第二个是 缓存区(Index),它像个缓存区域,临时保存你的改动:最后是 H ...

  2. git学习——Git 基础要点【转】

    转自:http://blog.csdn.net/zeroboundary/article/details/10549555 简单地说,Git 究竟是怎样的一个系统呢?请注意,接下来的内容非常重要,若是 ...

  3. linux学习之——基础命令

    Linux体系基础命令: Linux是一个命令行组成的操作体系!精华在命令行,岂论图形界面成长到什么水平这个原理是不会变的,Linux命令有许多壮大的效用:从简单的磁盘操作.文件存取.到举办庞大的多媒 ...

  4. 常用 git 基础命令

    git config --global credential.helper store记住密码 git config user.name xxx配置帐号 git config user.email x ...

  5. Git基础命令的使用——详细教程2

    Git安装默认完成后,在左面点击鼠标右键,鼠标右键菜单中会多出来两个选项: a)  Git GUI Here <—>  图型界面模式 b) Git Bash Here <—> ...

  6. git学习------>git commit命令的默认编辑器的修改

    今天在新同事的电脑上,用git commit命令帮新同事提交代码的时候,编辑完commit的信息后,居然不记得怎么退出了.蛋疼. 后来百度了一下,原来此时是进入GUN nano编辑器.在这里可以添加你 ...

  7. [git] 基础命令笔记

    --内容整理自廖雪峰的GIT教程-- git status 查看当前工作区状态,显示未跟踪的文件以及未上传的修改记录 git init 使当前文件夹变成Git可以管理的仓库 git add xxx 将 ...

  8. git基础命令详解

    一些必须要知道的概念 git的三个工作区域:工作目录.暂存区.git仓库. 工作目录:其实就是本地文件磁盘上的文件或目录: 暂存区:是一个文件,保存了下次提交的文件列表信息,一般在git仓库目录中: ...

  9. git基础命令学习总结

    git版本升级 git clone git://git.kernel.org/pub/scm/git/git.git 列出所有 Git 当时能找到的配置 git config --list git c ...

随机推荐

  1. opengl 笔记(1)

    参考<opengl入门教程>.<OpenGL之坐标转换>.<OpenGL绘制管线操作细节>等资料. 复习下留个备忘:) /*- * Opengl Demo Test ...

  2. 你从未知道如此强大的ASP.NET MVC DefaultModelBinder

    看到很多ASP.NET MVC项目还在从request.querystring或者formContext里面获取数据,这实在是非常落后的做法.也有的项目建了大量的自定义的modelbinder,以为很 ...

  3. Nginx 配置简述

    不论是本地开发,还是远程到 Server 开发,还是给提供 demo 给人看效果,我们时常需要对 Nginx 做配置,Nginx 的配置项相当多,如果考虑性能配置起来会比较麻烦.不过,我们往往只是需要 ...

  4. 【Java并发编程实战】-----“J.U.C”:Phaser

    Phaser由java7中推出,是Java SE 7中新增的一个使用同步工具,在功能上面它与CyclicBarrier.CountDownLatch有些重叠,但是它提供了更加灵活.强大的用法. Cyc ...

  5. ARM的栈指令

    ARM的指令系统中关于栈指令的内容比较容易引起迷惑,这是因为准确描述一个栈的特点需要两个参数: 栈地址的增长方向:ARM将向高地址增长的栈称为递增栈(Descendent Stack),将向低地址增长 ...

  6. ABP文档 - 审计日志

    文档目录 本节内容: 简介 关于 IAuditingStore 配置 通过特性启用/禁用 注意 简介 维基百科:“一个审计追踪(也叫审计日志)是一个安全相关的时序记录.记录组.和/或记录源和目标,作为 ...

  7. Underscore.js

    概述 Underscore.js是一个很精干的库,压缩后只有4KB.它提供了几十种函数式编程的方法,弥补了标准库的不足,大大方便了JavaScript的编程.MVC框架Backbone.js就将这个库 ...

  8. Redis数据结构详解之List(二)

    序言 思来想去感觉redis中的list没什么好写的,如果单写几个命令的操作过于乏味,所以本篇最后我会根据redis中list数据类型的特殊属性,同时对比成熟的消息队列产品rabbitmq,使用red ...

  9. 计算机程序的思维逻辑 (53) - 剖析Collections - 算法

    之前几节介绍了各种具体容器类和抽象容器类,上节我们提到,Java中有一个类Collections,提供了很多针对容器接口的通用功能,这些功能都是以静态方法的方式提供的. 都有哪些功能呢?大概可以分为两 ...

  10. sql无限递归查询

    --------------所有子集数据包括自己--------------------- CREATE PROCEDURE ALLSON @ID INT AS BEGIN WITH CTE AS ( ...