准备工作

git clone url / ssh  ----------------------------------------------------------------------从github中下载项目

git config  --global user.name "pomelott"-----------------------------------------配置本机的全局用户名为 pomelott

git config --global user.email  "pomelott@163.com"--------------------------------配置本机的全局用户的邮箱为  pomelott@163.com

git config --global user.name / user.email-------------------------------------------查看用户名/邮箱

git config --list-----------------------------------------------------------------------------查看配置项列表

项目开发


git status--------------------------查看当前工作区与暂存区状态

git add  index.html---------------------将文件从工作区提交到暂存区

git add . ----------------------------------将修改过的文件全部提交到暂存区

git reset HEAD index.html----------将提交至暂存区的文件撤回至工作区

git commit  -------------------将暂存区内容提交到版本库

git commit -m "注释" ------------------------------提交到版本库时,直接在命令行添加注释

git commit -a -m "注释"-------------------------------连续将修改的文件从工作区提交至暂存区再提交至版本库

git  log--------------------------------------------------查看提交日志

***git status时会看到如下格式:此时代表工作区(红色)新增1个文件,2个被修改,1个被删除

***将工作区所有文件加入到暂存区后,变为绿色。

***同步到本地版本库后,分支变为绿色

工作区、暂存区、版本库 内容的区别

git diff --------------------------------------------------显示工作区与暂存区的不同

git diff --cache(staged)   ---------------------------------------显示暂存区与版本库的不同

git diff master(当前分支名称)--------------------------------------显示工作区与版本库的不同

撤销

git reset HEAD filiename.js  ------------------------------------------------从暂存区撤销到工作区

git checkout --filename.js --------------------------------------------------把工作区文件还原至版本库中的状态

git commit -a filename --amend ---------------------------------------------修改上次的提交

删除

git rm filename -------------------------------将暂存区中的文件删掉(必须在工作区中删除了相应的文件后,此命令才有效)

git rm -f filename -----------------------------------将工作区和暂存区中对应的文件全部删除

git rm --cached filename--------------------------------将暂存区中对应的文件删除,保留工作区中对应的文件

恢复

git log-----------------------------------------------------------------查看提交日志(查看版本ID)

git checkout  id(部分即可) 文件名----------------------------------迁出、恢复(某一版本的指定文件)

git reset --hard id----------------------------------------恢复至某一指定版本

git reflog -------------------------------------------查看操作历史,以确定回到哪个版本

将本地版本库同步到github

首先需要确定本地github登陆的账号与需要提交更新的远程github账户一致

git remote----------------------------------------------------查看远程仓库的名字(默认为origin)

git remote -v ----------------------------------------------------查看远程仓库的地址

git  push  远程仓库名字(默认为origin)  分支(默认为master)--------------------------------------将本地版本库同步至远程仓库

多人协作时需要首先为项目成员分配权限

可通过git config --global user.name 与 git config --global user.email 修改git工具的用户

然后在本地github上登陆新的用户

多人协作冲突解决

1. git fetch

拉取请求后不与当前分支合并,需手动合并【推荐】,一般起冲突后说明不同开发人员更改了同一部分内容,需先拉取请求后查看冲突区域

git  diff  master  origin/master 可查看冲突区域

git  merge  origin/master 合并冲突后再文件中查看起冲突的不同代码片段,将更有效的代码保留,删除无效的代码。

git  commit -a -m "注释"  提交到本地版本库

git  push  origin  master 再提交至远程仓库

2. git Pull

拉取请求后直接与当前分支合并,显示的为远程仓库中最新的版本

开源项目协作方式

点击分支fork,在自己的账户下建立开源项目的镜像

glt clone 地址,克隆到本地修改后再通过 git add 与git commit 提交到个人用户的github上

然后进行pull request向开源项目拥有者发起拉请求

git分支处理

分支常用于大型项目的多人协作开发,每一个项目成员首先在不同的分支上进行开发,最后再将多个分支合并到主分支即可。

首先可以用git branch查看分支

创建新分支 git branch newbranch(新分支的名字)

切换至新分支 git chechout newbranch

(快速创建分支并切换分支 git checkout -b newbranch2)

分支合并

在master分支下  git merge newbranch  将master与newbranch合并

若newbranch与master不存在冲突,则会将master分支直接连接至newbranch上,结构图如下

合并后可在master分支下使用:git branch --merged   查看当前分支下合并的分支

(另外可通过 git branch --no-merged 查看未合并的分支)

当前状态是master与newbranch合并,newbranch已经无效,可通过git branch -d newbranch进行删除(此方法只能删除当前分支下合并后的分支)

若要强制删除未合并的分支可用 git branch -D newbranch2

当分支冲突时,在master分支下使用git merge newbranch后会发生冲突提示(使用git status 可查看冲突文件),此时在冲突的文件下会显示冲突区域的不同代码,人为选择后删除不需要的代码再次提交 get commit -a -m  文件名即可完成合并,可通过git branch --merged查看合并后的分支。

发布版本(打标签)

进入想要打标签的分支

git tag v1.0------------------------------------为当前分支设定版本为1.0

git tag ----------------------------------------查看所有版本

git push origin v1.0-----------------------------将标签同步到远程仓库

创建组织(为组织创建仓库)

然后填写相应的组织名称(不可重复),email等,然然后为组织增加成员即可

创建博客

创建新仓库

****仓库名字为 github用户名或组织用户名.github.io

创建仓库后即可创建新文件

然后通过pomelott.github.io即可登录。

小技巧:

定义指令:git config --global alias.co commint ------------------------------用co代替commint命令,直接git co就可以

可用git config --list查看配置

git入门教程,主要命令详解。的更多相关文章

  1. Git 入门和常用命令详解

    git 使用使用教程   git 使用简易指南  常用 Git 命令清单 下载   https://git-scm.com/downloads 工作流 本地仓库由三部分组成. 工作区:保存实际的文件( ...

  2. 《挑战30天C++入门极限》入门教程:实例详解C++友元

        入门教程:实例详解C++友元 在说明什么是友元之前,我们先说明一下为什么需要友元与友元的缺点: 通常对于普通函数来说,要访问类的保护成员是不可能的,如果想这么做那么必须把类的成员都生命成为pu ...

  3. Linux培训教程lgzip命令详解和使用实例

    gzip不仅可以用来压缩大的.较少使用的文件以节省磁盘空间,还可以和tar命令一起构成Linux操作系统中比较流行的压缩文件格式.据统计,gzip命令对文本文件有60%-70%的压缩率. 1.命令格式 ...

  4. ionic入门教程-ionic路由详解(state、route、resolve)(转)

    http://blog.csdn.net/onil_chen/article/details/51758696?appinstall=0 今天好好的跟大家讲讲ionic的路由配置. 问到的朋友有点多, ...

  5. Docker基础教程(命令详解)

    # docker --help Usage: docker [OPTIONS] COMMAND [arg...] docker daemon [ --help | ... ] docker [ -h ...

  6. Linux基础入门 vim常用命令详解

    介绍 vim是一个文本编辑程序 没有菜单,只有命令,且命令繁多 命令行模式下相关命令 移动光标 ​ h: ← 左移 ​ l: → 右移 ​ j: ↓ 下移 ​ k: ↑ 上移 ​ gg: 光标移动文件 ...

  7. Velocity快速入门教程-脚本语法详解(转)

    1.变量 (1)变量的定义: #set($name = "hello")      说明:velocity中变量是弱类型的. 当使用#set 指令时,括在双引号中的字面字符串将解析 ...

  8. Linux 命令详解(七)Systemd 入门教程:命令篇

    Systemd 入门教程:命令篇http://www.ruanyifeng.com/blog/2016/03/systemd-tutorial-commands.html

  9. Git的使用以及常用命令(详解)

    一. 版本控制工具 什么是版本控制系统? 版本控制系统(Version Control System):是一种记录一个或若干文件内容变化,以便将来查阅特定版 本修订情况的系统.版本控制系统不仅可以应用 ...

  10. Git初探--笔记整理和Git命令详解

    几个重要的概念 首先先明确几个概念: WorkPlace : 工作区 Index: 暂存区 Repository: 本地仓库/版本库 Remote: 远程仓库 当在Remote(如Github)上面c ...

随机推荐

  1. 【codevs1006】等差数列

    题目大意:给定一个 N(N <= 100) 个数字组成的集合,从中取出若干数字组成的等差数列最长是多少. 题解:由于这道题数据范围较小,可以直接依据每个数字进行枚举.首先,这道题给出的是一个集合 ...

  2. Zabbix应用六:Zabbix监控Redis

    利用Zabbix监控Redis Zabbix监控redis就比较简单了,因为zabbix官方提供了监控redis的模版和脚本,而且脚本有nodejs和python两种,下载地址:https://git ...

  3. vue实例的方法

    1.mount挂载 vm.$mount('#app') 2.销毁 vm.$destroy() 3.刷新实例 vm.$forceUpdate() 4.更新后的操作 vm.$nextTick(functi ...

  4. P2889 [USACO07NOV]挤奶的时间Milking Time

    P2889 [USACO07NOV]挤奶的时间Milking Time 奶牛Bessie在0~N时间段产奶.农夫约翰有M个时间段可以挤奶,时间段f,t内Bessie能挤到的牛奶量e.奶牛产奶后需要休息 ...

  5. bzoj千题计划269:bzoj2655: calc (拉格朗日插值)

    http://www.lydsy.com/JudgeOnline/problem.php?id=2655 f[i][j] 表示[1,i]里选严格递增的j个数,序列值之和 那么ans=f[A][n] * ...

  6. Your Prediction Gets As Good As Your Data

    Your Prediction Gets As Good As Your Data May 5, 2015 by Kazem In the past, we have seen software en ...

  7. ASP.NET MVC学习笔记-----Filter(1)

    Filter类型 接口 MVC的默认实现 Description Authorization IAuthorizationFilter AuthorizeAttribute 最先执行,在其他类型的fi ...

  8. 转载一篇介绍CUDA

    鉴于自己的毕设需要使用GPU CUDA这项技术,想找一本入门的教材,选择了Jason Sanders等所著的书<CUDA By Example an Introduction to Genera ...

  9. WIN10文件无法自动刷新问题解决方法

    Window10系统有时候会遇到以下类似的问题 1.文件删除后,图标还在,无法自动刷新屏幕,按F5或右键菜单刷新后才消失 2.文件粘贴后,不显示,刷新后才显示 3.回收站清理后,文件图标仍显示有垃圾 ...

  10. Maven私服安装及配置——(十二)

    0.私服实际是B/S架构的,需要通过浏览器访问.访问地址在 nexus-2.12.0-01\conf\nexus.properties中查看.