缘起

年后到了新公司,由于个人意愿到了一个海外的项目组,除了自己从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. ASP.NET MVC 系列随笔汇总[未完待续……]

    ASP.NET MVC 系列随笔汇总[未完待续……] 为了方便大家浏览所以整理一下,有的系列篇幅中不是很全面以后会慢慢的补全的. 学前篇之: ASP.NET MVC学前篇之扩展方法.链式编程 ASP. ...

  2. Android Starting Window(Preview Window)

    当打开一个Activity时,如果这个Activity所属的应用还没有在运行,系统会为这个Activity所属的应用创建一个进程,但进程的创建与初始化都需要时间,在这个动作完成之前系统要做什么呢?如果 ...

  3. [译]ZOOKEEPER RECIPES-Queues

    队列 分布式队列是一种常见的数据结构.为了在ZooKepeer中实现分布式队列,第一步是要使用一个znode代表队列本身.分布式客户端通过create()方法将内容放入一个名叫"queue- ...

  4. Rxjava cold/hot Observable

    create Observable分为cold以及hot两种,cold主要是静态的,每次subscribe都是从头开始互不干扰,而hot的在同一时刻获得的值是一致的 cold Observable 使 ...

  5. 数据预处理中归一化(Normalization)与损失函数中正则化(Regularization)解惑

    背景:数据挖掘/机器学习中的术语较多,而且我的知识有限.之前一直疑惑正则这个概念.所以写了篇博文梳理下 摘要: 1.正则化(Regularization) 1.1 正则化的目的 1.2 正则化的L1范 ...

  6. sql无限递归查询

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

  7. JS过滤emoji

    function filterEmoji(text){ var ranges = [ '\ud83c[\udf00-\udfff]', '\ud83d[\udc00-\ude4f]', '\ud83d ...

  8. 无限循环轮播图之运动框架(原生JS)

    封装运动框架 function getStyle(obj,name){ if(obj.currentStyle){ return obj.currentStyle[name]; }else{ retu ...

  9. NodeJs对Mysql封装

    之前在学习NodeJs的时候,每次操作数据库都需要连接数据库然后开始写Sql操作,这样非常麻烦,然后自己对Mysql进行了封装,一共100多行代码. github地址: Mysql操作 我在里面对My ...

  10. redis命令1

    SADD numbers 1 3 5 创建一个名为numbers的intset SADD fruites "apple" "peach" 创建一个hashtab ...