首先介绍一个git 里工作流的概念:

  你的本地仓库由 git 维护的三棵“树”组成。第一个是你的 工作目录,它持有实际文件;第二个是 缓存区(Index),它像个缓存区域,临时保存你的改动;最后是 HEAD,指向你最近一次提交后的结果。

1、git init命令用于初始化当前所在目录的这个项目。

2、git clone /path/to/repository 执行命令以创建一个本地仓库的克隆版本

3、git add <filename>  或 git add *  你可以计划改动(把它们添加到缓存区)

给我目前的这个项目制作一个快照snapshot(快照只是登记留名,快照不等于记录在案,git管快照叫做索引index)

4、git commit -m "代码提交信息"  : 用于将快照里登记的内容永久写入git仓库中,也就是开发者已经想好了要提交自己的开发成果了。(本地仓库)

  现在,你的改动已经提交到了 HEAD,但是还没到你的远端仓库。

6、推送改动

git push origin master

  你的改动现在已经在本地仓库的 HEAD 中了。执行如下命令以将这些改动提交到远端仓库,可以把 master 换成你想要推送的任何分支。

7、git remote add origin <server>

  果你还没有克隆现有仓库,并欲将你的仓库连接到某个远程服务器,你可以使用如下命令添加。如此你就能够将你的改动推送到所添加的服务器上去了。

分支

分支是用来将特性开发绝缘开来的。在你创建仓库的时候,master 是“默认的”。在其他分支上进行开发,完成后再将它们合并到主分支上。

1、git checkout -b feature_x 创建一个叫做“feature_x”的分支,并切换过去

2、git checkout master 切换回主分支

3、git branch -d feature_x 再把新建的分支删掉

4、git push origin <branch> 除非你将分支推送到远端仓库,不然该分支就是 不为他人所见的

5、运行 git fetch,可以将远程分支信息获取到本地。

更新与合并

1、要更新你的本地仓库至最新改动,执行:
git pull
以在你的工作目录中 获取(fetch) 并 合并(merge) 远端的改动。
2、要合并其他分支到你的当前分支(例如 master),执行:
git merge <branch>
两种情况下,git 都会尝试去自动合并改动。不幸的是,自动合并并非次次都能成功,并可能导致 冲突(conflicts)。 这时候就需要你修改这些文件来人肉合并这些 冲突(conflicts) 了。改完之后,你需要执行如下命令以将它们标记为合并成功:
git add <filename>
在合并改动之前,也可以使用如下命令查看:
git diff <source_branch> <target_branch>


git 命令补充:

git branch   -a (to show all the branches git knows about)

git branch -r (to show remote branches git knows about)

git fetch:相当于是从远程获取最新版本到本地,不会自动merge

git pull:相当于是从远程获取最新版本并merge到本地

完整路径:

git pull <远程主机名> <远程分支名>:<本地分支名

推送远程分支: git push origin local_branch:remote_branch

 

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

  1. git基础命令学习总结

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

  2. Git基础命令学习

    Git是项目代码管理软件 主要管理逻辑如下: 所有代码保存在远程,本地获取远程代码保存在本地仓库,并于本地工作目录修改代码 修改完成后,提交到本地暂存区,添加必要注释,再尝试提交到远程仓库 若发生冲突 ...

  3. linux基础命令学习笔记(二)

    linux基础命令学习笔记(二) 1.kill :终止进程  kill pid (唯一标示一个进程) kill -9  强制终止  kill -15 命令未结束不能终止 # ps aux 查看所有进程 ...

  4. 学习 git基础命令

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

  5. GIT 版本控制命令学习

    一   基本命令 1.$ git init 要对现有的某个项目开始用 Git 管理,只需到此项目所在的目录,执行: 2.$ git status 检查当前文件状态 3.git add命令 功能1:可以 ...

  6. 常用 git 基础命令

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

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

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

  8. git reset命令学习

    我们在使用git进行版本管理的时候,如果遇到需要回退代码的情况,一般会用 git reset 命令,不过这个命令还有几个参数,这篇文章就来详解一下. 先来了解一下 git 大致的工作流程,配合这张图会 ...

  9. Git 常用命令学习

    本文转载自:https://buptldy.github.io/2016/03/02/2016-03-02-Git%20Cheat%20Sheet/ 文章 创建版本库 初始化一个Git仓库,使用git ...

随机推荐

  1. js版的虚线框

    要求:实现鼠标点击面板的一个点,拖动到固定的位置,出现虚线框 样图:   具体的代码实现: js文件   <script> window.onload = function(){ docu ...

  2. ECMAScript 6 异步编程

    http://www.ruanyifeng.com/blog/2015/04/generator.html

  3. css样式重置表

    /* http://meyerweb.com/eric/tools/css/reset/ v2.0 | 20110126 License: none (public domain) */ html, ...

  4. TcpSendRcv方法笔记1

    if (ns.DataAvailable) return ns.ReadByte(); ns.DataAvailable:获取一个值,该值指示在要读取的 NetworkStream 上是否有可用的数据 ...

  5. 阶段3 3.SpringMVC·_03.SpringMVC常用注解_3 PathVariable注解

    请求地址都一样,根据不同的请求方式,最终让不同的方法去执行.这就是restfull的风格 如果有两个查询都是get的.那么当前访问 满足条件的就是两个. 用一个占位符 {id} 演示PathVaria ...

  6. Python实现将不规范的英文名字首字母大写

    Python实现将不规范的英文名字首字母大写 这篇文章给大家主要介绍的是利用map()函数,把用户输入的不规范的英文名字,变为首字母大写,其他小写的规范名字.文中给出了三种解决方法,大家可以根据需要选 ...

  7. Cobalt Strike DLL用于永恒之蓝注入

    PDF下载:blob:https://www.52stu.org/9afe109c-f95f-4cb3-a180-90d469a1d001 我们在对存在MS17010的漏洞主机进行DLL注入的时候,一 ...

  8. Java 高级 --- 多线程快速入门

    这世上有三样东西是别人抢不走的:一是吃进胃里的食物,二是藏在心中的梦想,三是读进大脑的书 多线程快速入门 1.线程与进程区别 每个正在系统上运行的程序都是一个进程.每个进程包含一到多个线程.线程是一组 ...

  9. Laravel 查询&数据库&模型

    1.with()与load区别: 都称为 延迟预加载,不同点在于 load()是在已经查询出来的模型上调用,而 with() 则是在 ORM 查询构造器上调用. Order::query()-> ...

  10. CDH目录

    配置文件都在:/etc/服务名, 看hadoop的classpath |grep conf /etc/hadoop/conf log都在: /var/log/服务名 看scm的log: tail -1 ...