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. day 48-css-part1

    CSS(Cascading Style Sheet,层叠样式表 css是前端的优化器,如果说我们的html是把前端的大体骨架搭起来的话,那么我们的css就是在这个骨架的基础上进行修饰,使之更有立体感, ...

  2. MarkdownPad 2在win10上安装及破解(含安装包)

    MarkdownPad 2 是一款较不错的Markdown编辑器,可快速将文本转换为美观的HTML/XHTML的网页格式代码,且操作方便,用户可以通过键盘快捷键和工具栏按钮来使用或者移除Markdow ...

  3. Python json 读取 json 文件并转为 dict

    Python json 读取 json 文件并转为 dict 在 D 盘 新建 test.json: { "test": "测试\n换行", "dic ...

  4. oracle连接连表查询时,两表的连接字段类型不一致的时候,会导致ora 01722无效数字错误,这时候需要转换

    类型不匹配,需要类型转换,函数:to_char()转换成字符,to_num()转换成数字

  5. Codeforces 919D Substring 【拓扑排序】+【DP】

    <题目链接> 题目大意:有一个具有n个节点,m条边的有向图,每个点对应一个小写字母,现在给出每个顶点对应的字母以及有向边的连接情况,求经过的某一条路上相同字母出现的最多次数.如果次数无限大 ...

  6. 016.OpenStack及云计算(面试)常见问题

    什么是云计算? 云计算是一种采用按量付费的模式,基于虚拟化技术,将相应计算资源(如网络.存储等)池化后,提供便捷的.高可用的.高扩展性的.按需的服务(如计算.存储.应用程序和其他 IT 资源).   ...

  7. spring security入门demo

    一.前言 因项目需要引入spring security权限框架,而之前也没接触过这个一门,于是就花了点时间弄了个小demo出来,说实话,刚开始接触这个确实有点懵,看网上资料写的权限大都是静态,即就是在 ...

  8. Alpha(3/10)

    鐵鍋燉腯鱻 项目:小鱼记账 团队成员 项目燃尽图 冲刺情况描述 站立式会议照片 各成员情况 团队成员 学号 姓名 git地址 博客地址 031602240 许郁杨 (组长) https://githu ...

  9. 在eclipse中配置Python环境

    1.下载pydev https://sourceforge.net/projects/pydev/files/pydev/PyDev%202.2.2/ 2.解压pydev插件后 有features.p ...

  10. LOJ.2718.[NOI2018]归程(Kruskal重构树 倍增)

    LOJ2718 BZOJ5415 洛谷P4768 Rank3+Rank1无压力 BZOJ最初还不是一道权限题... Update 2019.1.5 UOJ上被hack了....好像是纯一条链的数据过不 ...