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. Python 主、次(major,minor)版本号获取

    Python  主.次(major,minor)版本号获取 import sys sys.version_info sys.version_info.major sys.version_info.mi ...

  2. VC9、VC11、VC14、VC15库 32位 64位 免费下载

    VC9.VC11.VC14.VC15库 32位 64位 免费下载 更新版本的PHP是用VC11,VC14或VC15(分别为Visual Studio 2012,2015或2017编译器)构建的,并且包 ...

  3. Shell学习之结合正则表达式与通配符的使用(五)

    Shell学习之结合正则表达式与通配符的使用 目录 通配符 正则表达式与通配符 通配符 通配符的使用 正则表达式 正则表达式 正则表达式的使用 通配符 正则表达式与通配符 正则表达式用来在文件中匹配符 ...

  4. ASP.NET MVC 常用路由总结

    1.URL模式 路由系统用一组路由来实现它的功能,这些路由共同组成了应用系统URL架构或方案,这种URL架构是应用程序能够识别并能对之做出响应的一组URL,当处理一个输入 请求时,路由系统的工作是将这 ...

  5. csrf_token 跨站请求设置

    $.ajaxSetup({ data: {csrfmiddlewaretoken: '{{ csrf_token }}' }, }); <form> {% csrf_token %} &l ...

  6. SQL总结——存储过程

    SQL总结(五)存储过程 概念 存储过程(Stored Procedure):已预编译为一个可执行过程的一个或多个SQL语句. 创建存储过程语法 CREATE proc | procedure pro ...

  7. Window通过zip安装并启动mariadb

    下载解压后进入bin目录 使用mysql_install_db.exe工具:https://mariadb.com/kb/en/mariadb/mysql_install_dbexe/ 安装完成后,在 ...

  8. CC2431 代码分析③-忍辱负重的CC2430

    这节主要分析CC2430的代码,是参考节点的代码,协调器代码我们放到最后分析. 代码分析的原则是事件为导向,我们从CC2431 盲节点code的分析中发现CC2431 向CC2430参考节点发送的信息 ...

  9. 在win10中解决 你要以何方式打开此 .xlsx

    鼠标右击开始按钮,点击控制面板. 查看方式选择大图标或者小图标.   然后点击“默认程序”.     点击,设置默认程序.   在左侧程序蓝,选择你需要设定的程序.然后点击“将此程序设为默认值”.确定 ...

  10. Ubuntu下使用cmake生成可执行文件

    1.单个CPP文件的cmake 首先编写一个简单的程序(main.cpp): #include <iostream> using namespace std; int main() { c ...