git入门教程,主要命令详解。
准备工作
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入门教程,主要命令详解。的更多相关文章
- Git 入门和常用命令详解
git 使用使用教程 git 使用简易指南 常用 Git 命令清单 下载 https://git-scm.com/downloads 工作流 本地仓库由三部分组成. 工作区:保存实际的文件( ...
- 《挑战30天C++入门极限》入门教程:实例详解C++友元
入门教程:实例详解C++友元 在说明什么是友元之前,我们先说明一下为什么需要友元与友元的缺点: 通常对于普通函数来说,要访问类的保护成员是不可能的,如果想这么做那么必须把类的成员都生命成为pu ...
- Linux培训教程lgzip命令详解和使用实例
gzip不仅可以用来压缩大的.较少使用的文件以节省磁盘空间,还可以和tar命令一起构成Linux操作系统中比较流行的压缩文件格式.据统计,gzip命令对文本文件有60%-70%的压缩率. 1.命令格式 ...
- ionic入门教程-ionic路由详解(state、route、resolve)(转)
http://blog.csdn.net/onil_chen/article/details/51758696?appinstall=0 今天好好的跟大家讲讲ionic的路由配置. 问到的朋友有点多, ...
- Docker基础教程(命令详解)
# docker --help Usage: docker [OPTIONS] COMMAND [arg...] docker daemon [ --help | ... ] docker [ -h ...
- Linux基础入门 vim常用命令详解
介绍 vim是一个文本编辑程序 没有菜单,只有命令,且命令繁多 命令行模式下相关命令 移动光标 h: ← 左移 l: → 右移 j: ↓ 下移 k: ↑ 上移 gg: 光标移动文件 ...
- Velocity快速入门教程-脚本语法详解(转)
1.变量 (1)变量的定义: #set($name = "hello") 说明:velocity中变量是弱类型的. 当使用#set 指令时,括在双引号中的字面字符串将解析 ...
- Linux 命令详解(七)Systemd 入门教程:命令篇
Systemd 入门教程:命令篇http://www.ruanyifeng.com/blog/2016/03/systemd-tutorial-commands.html
- Git的使用以及常用命令(详解)
一. 版本控制工具 什么是版本控制系统? 版本控制系统(Version Control System):是一种记录一个或若干文件内容变化,以便将来查阅特定版 本修订情况的系统.版本控制系统不仅可以应用 ...
- Git初探--笔记整理和Git命令详解
几个重要的概念 首先先明确几个概念: WorkPlace : 工作区 Index: 暂存区 Repository: 本地仓库/版本库 Remote: 远程仓库 当在Remote(如Github)上面c ...
随机推荐
- 【codevs1006】等差数列
题目大意:给定一个 N(N <= 100) 个数字组成的集合,从中取出若干数字组成的等差数列最长是多少. 题解:由于这道题数据范围较小,可以直接依据每个数字进行枚举.首先,这道题给出的是一个集合 ...
- Zabbix应用六:Zabbix监控Redis
利用Zabbix监控Redis Zabbix监控redis就比较简单了,因为zabbix官方提供了监控redis的模版和脚本,而且脚本有nodejs和python两种,下载地址:https://git ...
- vue实例的方法
1.mount挂载 vm.$mount('#app') 2.销毁 vm.$destroy() 3.刷新实例 vm.$forceUpdate() 4.更新后的操作 vm.$nextTick(functi ...
- P2889 [USACO07NOV]挤奶的时间Milking Time
P2889 [USACO07NOV]挤奶的时间Milking Time 奶牛Bessie在0~N时间段产奶.农夫约翰有M个时间段可以挤奶,时间段f,t内Bessie能挤到的牛奶量e.奶牛产奶后需要休息 ...
- bzoj千题计划269:bzoj2655: calc (拉格朗日插值)
http://www.lydsy.com/JudgeOnline/problem.php?id=2655 f[i][j] 表示[1,i]里选严格递增的j个数,序列值之和 那么ans=f[A][n] * ...
- 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 ...
- ASP.NET MVC学习笔记-----Filter(1)
Filter类型 接口 MVC的默认实现 Description Authorization IAuthorizationFilter AuthorizeAttribute 最先执行,在其他类型的fi ...
- 转载一篇介绍CUDA
鉴于自己的毕设需要使用GPU CUDA这项技术,想找一本入门的教材,选择了Jason Sanders等所著的书<CUDA By Example an Introduction to Genera ...
- WIN10文件无法自动刷新问题解决方法
Window10系统有时候会遇到以下类似的问题 1.文件删除后,图标还在,无法自动刷新屏幕,按F5或右键菜单刷新后才消失 2.文件粘贴后,不显示,刷新后才显示 3.回收站清理后,文件图标仍显示有垃圾 ...
- Maven私服安装及配置——(十二)
0.私服实际是B/S架构的,需要通过浏览器访问.访问地址在 nexus-2.12.0-01\conf\nexus.properties中查看.