1、创建版本库

(1)初始化一个 Git仓库,使用git init命令 (在相应的本地库目录下执行,将该目录初始化为一个Git库);

(2)添加文件到Git仓库,分两步:

  第一步,使用命令 git add <file> ,注意可反复多次使用添加个文件;
  第二步,使用命令 git commit -m "修改注释信息",将添加的文件提交到本地仓库 。

2. 时光穿梭
(1)要随时掌握工作区的状态,git status 命令;
(2)如果 git status告诉你有文件被修改过,用 git diff <file>可以查看修改内容。

2.1 版本回退
(1)HEAD指向的版本就是当前, 因此Git允许我们在版本的历史之间穿梭,使用命令git reset -- hard (commit_id是要撤销的版本 commit id);
(2)穿梭前,用git log 可以查看提交历史,便确定要回退到哪个版本; 
(3)要重返未来,用git reflog 查看命令历史,以便确定要回到未来的哪个版本。

 2.2工作区和暂存工作区
(1)工作区( Working Directory):就是你在电脑里能看到的目录; 
(2)版本库( Repository):工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库;
(3)暂存区 (Stage):是Repository里一个叫Stage 的地方;
(4)前面讲了我们把文件往Git版本库里添加的时候,是分两步执行: 
   第一步 用 git add把文件添加进去,实际上是把文件修改添加到暂存区;
   第二步 用 git commit提交更改,实际上是把暂存区的所有内容提交到当前分支(本 地);
(5)可以简单理解为,需要提交的文件修改通通放到暂存区然后一次性提交暂存区的所有修改。

2.3管理修改
(1)每次修改之后,都必须执行git add 和 git commit命令 ,才能够把修改提交到本地仓库 ;
(2)每次修改,如果不add到暂存区,那就不会加入commit中

 2.4撤销 修改
(1)场景 1:当你改乱了工作区某个文件的内容,想直接丢弃修改时,用命令git checkout -- file;
(2)场景 2:当你不但改乱了工作区某个文件的内容,还添加到暂存时 (git add 之后 ), 想丢弃修改,分两步:第一步用命令 git reset HEAD <file>,就回到了场景 1,第二步按场景 1操作;
(3)场景 3:已经提交了不合适的修改到版本库时 (git commit之后 ),想要撤销本次提交,参考版本回退一节,参考版本回退一节,不过前提是没有推送到远程库 。

git checkout . #本地所有修改的。没有的提交的,都返回到原来的状态

git stash #把所有没有提交的修改暂存到stash里面。可用git stash pop回复。
git reset --hard HASH #返回到某个节点,不保留修改。
git reset --soft HASH #返回到某个节点。保留修改

2.5删除文件
(1)命令git rm用于从本地库中删除一个文件 ,之后git commit;
(2)如果一个文件已经被提交到版本库 (本地 ),那么你永远不用担心误删但是要小心,你只能恢复文件到最新版本 (git checkout -- <file>),你会丢失最近一次提交后修改的内容;
(3)git checkout -- <file>只是用本地库里的文件替换工作区的文件,因此无论工作区的文件是被误改或删,均可从本地库中一键还原。

3、远程仓库

 3.1 添加远程库

(1)要关联一个远程库 :git remote add <remote url>.git
(2)关联后,使用命令 git push -u origin master 第一次推送master分支的所有内容;
(3)此后,每次本地提交只要有必就可以使用命令git push origin master 推送最新修改。

3. 2从远程库克隆

(1)要克隆一个仓库,首先必须知道的地址然后使用git clone 命令克隆:git clone <remote> <url>

(2)Git支持多种协议,包括 https,但通过ssh支持的原生协议速度最快。 协议速度最快。

 3. 3重命名远程库

(1)重命名远程库:git remote rename <old name> <new name>

4、支持分支管理

4.1 创建与合并分支

(1)首先,代码库应该有 一个、且仅一个主分支。所有提供给用户使用的正式版本,都在这个主分支上发布; Git主分支的名字,默认叫做Master 。它是自动建立的,版本库初始化以后,默认就是在主分支进行开发;

(2)日常开发应该在另一条分支上完成。我们把开发用的分支,叫做Develop ;这个分支可以用来生成代码的最新隔夜版本( nightly);如果想正式对外发布,就在Master 分支上, 对Develop分支进行 "合并 "(merge );
(3)git上的分支常用操作:
   查看分支:git branch
   创建分支: git branch <name>
   切换分支:git checkout < branch name>
   创建+切换分支git checkout -b < branch name>
   合并指定分支到当前:git merge -- no -ff <branch name>

 删除本地分支:切换到其他分支 然后git branch -d <branch name>

 删除远程分支:切换到其他分支 然后git branch -a; git git push origin --delete <branch name>

 4.2解决冲突
(1)当Git无法自动合并分支时,就必须首先解决冲突。首先解决冲突后,再提交,合并完成; 
(2)用 git log -- graph命令可以看到分支合并图。

 4.3分支管理策略
(1)Git分支十份强大,在团队开发中应该充份应用。 
(2)合并分支时,加上 -- no -ff 参数就可以用普通模式合并,合并后的历史有分支能看出来曾经做过合并,而fast forward合并就看不出来曾经做过; 
(3)使-- no -f合并分支时会提交一个新的commit,这时可以使用 -m参数添加描述: git merge -- no -ff -m “A merge. ” <name><name> <name> 。

 4.4Bug分支
(1)修复 bug 时,我们会通过创建新的bug分支进行修复,然后合并最后删除(需要在哪个分支上修复 bug ,就在哪个分支上创建bugfix分支,修复完毕后将bugfix分支合并 );
(2)当手头工作没有完成时,先把现场git stash一下,然后去修复 bug,修复后再git stash pop ,回到工作现场;

4.5Feature分支
(1)开发一个新feature,最好新建一个分支;
(2)如果要丢弃一个没有被合并过的分支,可以通过git branch -D <branch name>强行删除。

4.6多人协作
(1)总结:
   查看远程库信息,使用 git remote -v;
   本地新建的分支如果不推送到远程,对其他人就是可见; 
   从本地推送分支,使用git push <remote name> <branch name>,如果推送失败,先用 git pull <remote name> <branch name>抓取远程的新提交;
   在本地创建和远程分支对应的分支,使用git checkout -b branch -name origin/branch name,本地和远程分支的名称最好一致;
未完待续。。。。

git主要操作命令的更多相关文章

  1. Git常用操作命令与图解

    Git 是一个很强大的分布式版本控制系统.它不但适用于管理大型开源软件的源代码,管理私人的文档和源代码也有很多优势. Git常用操作命令: 1) 远程仓库相关命令 检出仓库:$ git clone g ...

  2. 2018.4.23 git常用操作命令收集(转)

    Git常用操作命令收集: 1. 远程仓库相关命令 检出仓库:$ git clone git://github.com/jquery/jquery.git 查看远程仓库:$ git remote -v ...

  3. Git常用操作命令收集

      Git常用操作命令收集 1.进入本地仓库访问位置之后执行命令 1) 远程仓库相关命令 检出仓库:$ git clone git://github.com/jquery/jquery.git 查看远 ...

  4. git自己操作命令组集合

    git自己操作命令组集合 一.总结 一句话总结: 1.官方有非常详细的中文文档资料,任何组件或者插件记得看有没有文档资料,这个用起来快,配合百度. 2.git clone命令是直接把git仓库上面的代 ...

  5. git入门操作命令(转载)

    以下为git环境搭建: 先建用户-->建组-->用户添加到组   新建项目,命名空间选择组 项目建完后,会分配远端地址. 然后本地配置好远端地址后,提交代码.   设置用户,邮箱 git ...

  6. 记录git常用操作命令

    GIT的常用操作 0.写在前面 作为一名开发者,熟悉使用 git 代码管理工具是一项必备的基本技能.git 相较 SVN 而言,其优点不言而喻.git 的功能非常强大,其包括的操作命令也非常的多,但是 ...

  7. git常用操作命令

    使用git进行版本控制,分为两部分: 一: 服务端 1.1 首先要申请一个git的账号,方便团队协作.推荐开源中国(www.oschina.net),相对于github来说,有两个优点:1.访问速度很 ...

  8. git 常用操作命令

    A. 新建Git仓库,创建新文件夹git init B. 添加文件到git索引git add <filename>  --- 单个文件添加git add * --- 全部文件添加 C. 提 ...

  9. Git撤销操作命令

    使用Git的过程中,失误无法避免,虽然Git很强,但是有些失误,无法挽回.在这里我介绍一些Git的撤销命令. 撤销对文件的修改 如下图所示的情况,你修改了文件,但是不想保存对文件的修改. 根据具体情况 ...

  10. Git基本操作命令2

    git本地仓库同步到远程仓库上 $ git remote add origin http://github.com/powfulCsharp/NuUserControl.git $ git push ...

随机推荐

  1. 2018-03-11 20165235祁瑛《Java程序设计》第二周学习总结

    2018-03-11 20165235祁瑛<Java程序设计>第二周学习总结 教材学习内容总结 第二章要点: 在这一章中我学到了很多东西: (1)布尔类型boolean,布尔类型的赋值只能 ...

  2. day 49-css补充(终结)[浮动和定位]

    老师的笔记: 前情回顾: day49 混乱即阶梯. 1. 前情回顾 HTML HTTP和HTML 文档机构 <!Doctype html> HTML head <meta> & ...

  3. 爬虫3 requests基础之 乱码编码问题

    import requests res = requests.get('http://www.quanshuwang.com') res.encoding = 'gbk' print(res.text ...

  4. 爬虫3 requests基础2 代理 证书 重定向 响应时间

    import requests # 代理 # proxy = { # 'http':'http://182.61.29.114.6868' # } # res = requests.get('http ...

  5. new Vue 发生了什么

    new Vue 发生了什么 new vue 我们从入口分析,我们new 一个实例化对象,是由Funcction实现的,来看一下源码,在src/core/instance/index.js 中. imp ...

  6. Activity的启动

    --摘自<android插件化开发指南> 1.AMS管理着四大组件 2.为什么Hook不能在AMS那边?因为AMS属于android系统,android系统可以被Hook,那就是病毒了.四 ...

  7. [ 中危 ] 发布处存在CSRF及CSRF设想

    漏洞存在于菜品发布处,使用A账号在添加/发布菜品的时候拦截数据包,使用burpsuite构造 CSRF的POC,再用B账号打开该HTML POC ,生成菜品. 该CSRF400RMB,主要因为是核心业 ...

  8. 说说我安装pyspider遇到的那些坑

    现在python3.7  >>pip install pyspider    配置环境变量 前置的phantomjs 无界面浏览器,设置就不说了 cmd 中运行pyspider all  ...

  9. SpringBoot整合dubbo

    Dubbo是阿里巴巴公司开源的一个高性能优秀的服务框架,使得应用可通过高性能的 RPC 实现服务的输出和输入功能,可以和Spring框架无缝集成. 以上介绍来源于百度百科,具体dubbo相关可以自行查 ...

  10. Xamarin Essentials教程剪贴板Clipboard

    Xamarin Essentials教程剪贴板Clipboard   现在手机设备操作以触屏为主,不便于文本输入.虽然可以通过复制/粘贴的方式,借助系统剪贴板简化操作,但仍然不够方便.如果通过代码操作 ...