缘起

年后到了新公司,由于个人意愿到了一个海外的项目组,除了自己从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. 【Java并发编程实战】-----“J.U.C”:ReentrantReadWriteLock

    ReentrantLock实现了标准的互斥操作,也就是说在某一时刻只有有一个线程持有锁.ReentrantLock采用这种独占的保守锁直接,在一定程度上减低了吞吐量.在这种情况下任何的"读/ ...

  2. .Net 4.5可执行程序OutOfMemory

    原创文章转载请注明出处:@协思, http://zeeman.cnblogs.com   产线上新部署的服务,发生几次无故停止的情况,通过系统事件看到是这样:   这个服务缓存了大量的数据,内存占用比 ...

  3. $.extend({},defaults, options) --(初体验三)

    1.$.extend({},defaults, options) 这样做的目的是为了保护包默认参数.也就是defaults里面的参数. 做法是将一个新的空对象({})做为$.extend的第一个参数, ...

  4. ubuntu 14.04LTS 环境下配置NFS服务

    简言之,NFS(Network FileSystem,网络文件系统)用于在不同机器,不同操作系统之间通过网络互相分享各自的文件.NFS设计之初就是为了在不同的系统间使用,所以它的通讯协议设计与主机及操 ...

  5. Linux驱动开发——pr_fmt的用法

    作者:彭东林 邮箱:pengdonglin137@163.com 在阅读kernel代码的时候,总是看到有很多驱动都在第一行定义pr_fmt,闲来没事,分析了一下, 发现,确实挺方便的.下面记录分享一 ...

  6. Cesium原理篇:Material

    Shader 首先,在本文开始前,我们先普及一下材质的概念,这里推荐材质,普及材质的内容都是截取自该网站,我觉得他写的已经够好了.在开始普及概念前,推荐一首我此刻想到的歌<光---陈粒>. ...

  7. 代码的坏味道(12)——平行继承体系(Parallel Inheritance Hierarchies)

    坏味道--平行继承体系(Parallel Inheritance Hierarchies) 平行继承体系(Parallel Inheritance Hierarchies) 其实是 霰弹式修改(Sho ...

  8. .NET平台上插拔姿势的AOP

    AOP概述 AOP技术的诞生并不算晚,早在1990年开始,来自Xerox Palo Alto Research Lab(即PARC)的研究人员就对面向对象思想的局限性进行了分析.他们研究出了一种新的编 ...

  9. Django--自定义用户认证

    Django自带的用户认证 以前都是用Django自带的用户认证,用户名字段一对一关系对应Django--User表(其实它也是继承了abstractbaseuser). 1 2 3 from dja ...

  10. Node基础篇(模块和NPM)

    核心模块 核心模块的意义 如果只是在服务器运行JavaScript代码,意义并不大,因为无法实现任何功能(读写文件,访问网络). Node 的用处在于它本身还提供的一系列功能模块,用于与操作系统互动. ...