git学习(持续踩坑中🤣)
https://segmentfault.com/q/1010000002457936
常见指令:
一、创建版本库
$ mkdir learngit 创建文件夹
$ cd learngit 进入文件夹
$ pwd  显示当前目录
$ git init把这个目录变成Git可以管理的仓库
$ ls -ah 显示所有文件,包括隐藏文件
$ git add a.txt 把a文件添加到仓库(一次只能添加一个)
$ git commit -m “wrote a readme file” 把文件提交到仓库,后面的文字是本次提交文件的介绍文字(一次添加多个)
二、时光机穿梭
$ git status 查看文档修改状态
$ git diff 查看修改的有哪些变化
三、版本回退
$ git log 查看提交历史
$ git log  —pretty=oneline 查看提交历史简洁版
$ git reset --hard HEAD^ 回退到上一个版本
// 或 git reset —hard HEAD~100(会退到前100版本)
$ cat readme.txt 查看文件里面的内容
$ git reset --hard 3628164 回退到指定版本(如果终端没有关闭)
$ git reflog 记录每一次提交的命令
四、工作区和暂存区
五、管理修改
六、撤销修改
$ git checkout — readme.txt 把readme.txt文件在工作区的修改全部撤销
$ git reset HEAD readme.txt 把暂存区的撤销掉,重新放回工作区
七、删除文件
$ rm test.txt 删除文件(删除后commit、删除后未commit)
八、初始化仓库:
Create a new repository on the command line
touch README.md
git init
git add README.md
git commit -m “first commmit”
git remote add origin https://github.com..
git push -u origin master
Push an existion repository from the command line
git push add origin http://….
git push -u origin master
第一次提交失败
报错:
error: failed to push some refs to 'git@github.com:xxxxxxx/xxxxxxxx.git
hint: Updates were rejected because the tip of your current branch is behin
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
分析与解决:
出现错误的主要原因是github中的README.md文件不在本地代码目录中
可以通过如下命令进行代码合并【注:pull=fetch+merge]
git pull --rebase origin master
执行上面代码后可以看到本地代码库中多了README.md文件
此时再执行语句 git push -u origin master即可完成代码上传到github
九、撤销已经push到远端的文件的文件
在使用git时,push到远端后发现commit了多余的文件,或者希望能够回退到以前的版本。
先在本地回退到相应的版本:
git reset --hard <版本号>
// 注意使用 --hard 参数会抛弃当前工作区的修改
// 使用 --soft 参数的话会回退到之前的版本,但是保留当前工作区的修改,可以重新提交
如果此时使用命令:
git push origin <分支名>
会提示本地的版本落后于远端的版本;

为了覆盖掉远端的版本信息,使远端的仓库也回退到相应的版本,需要加上参数--force
git push origin <分支名> --force
十、git拉取远程分支并创建本地分支
一、查看远程分支
使用如下Git命令查看所有远程分支:
git branch -r
二、拉取远程分支并创建本地分支
方法一
使用如下命令:
git checkout -b 本地分支名x origin/远程分支名x
使用该方式会在本地新建分支x,并自动切换到该本地分支x。
方式二
使用如下命令:
git fetch origin 远程分支名x:本地分支名x
使用该方式会在本地新建分支x,但是不会自动切换到该本地分支x,需要手动checkout。
划重点:每次我都要忘记!
1.
如果fork别人的项目或者是参与开源项目的开发,修改好了代码之后,一定要看看自己远端的版本是不是跟原项目的版本一致,如果不是请更新你的远端仓库,如果你在没有更新的情况下push上去了,再去pull request的时候,会出现冲突。
为了不必要的麻烦,请保持自己的远端仓库与fork的远端仓库版本一致。

H5mobile中用到的git流程:
// step1:拉取远端分支
git remote -v
// git fetch origin dev:dev(错误)
git fetch origin dev
git checkout -b dev origin/dev
git log
git checkout master
git log
git checkout dev
gst
clear
// step2:提交代码
git pull origin dev // 当前在dev分支,拉取远端分支,与远端同步
git status
git add .
git commit -m ''
git status
git push origin dev
// step3:部署到测试环境
ssh master@10.8.8.8
->输入密码
-> yes
cd mobileH5
// 方案1:
git checkout dev
git pull origin dev
npm run testprod
// 方案2:
git pull origin dev
npm run dev
// 之后打开http://10.8.8.8/mobile_......html(注意这里有没有端口号8001?80?。。)
exit // 退出服务器
// merge!!!!这里是合并到master!!!!!
// step4:merge到master分支,打补丁,push到master
cd mobileH5
git pull origin dev  // 一定要检查一下是否是最新版本
git checkout master
git pull origin master  // 版本检查
git merge dev // 将dev分支合并到当前分支(这里会进入vim)退出:shift+冒号 输入:wq(回车)
git log   // 查看版本是否正确
gulp patch  // gulp打补丁
git push origin master  // push到master
// step5:部署到test环境
git merge dev
PS:
// 在本地npm run build文件
 3561  ls
 3562  cd deist
 3563  cd dist
 3564  ls
 3565  python -m SimpleHTTPServer 8080
在Mac环境下执行Python脚本
cd 到文件夹目录
在文件首行添加#!/usr/bin/env python
添加权限 chmod 777 filename.py
执行脚本./filename.py
简单脚本:files.py
http://blog.csdn.net/hi_chen_xingwang/article/details/51569514
mobileH5V2迭代之后的流程
// 进入某一目录
cd /var/folders/6y/kb5tt1qd6x56f90s180y6y0m0000gn/T/phantomjs
// 将某一文件copy到当前目录
cp ~/Desktop/phantomjs-2.1.1-macosx.zip
npm run cli-create  // 输入这句之后后面会有提示让你输入文件名
//启动项目
npm start
git pull guanghe mobileH5V2
git remote add guanghe https://github.com/guanghetv/mobileH5V2.git
git pull guanghe develop
尚未整理
 5525  cd desktop
 5526  git clone https://github.com/Yfling/mobileH5V2.git
 5527  cd mobileH5V2
 5528  npm install
 5529* cd /var/folders/6y/kb5tt1qd6x56f90s180y6y0m0000gn/T/phantomjs
 5530* ll
 5531* cp ~/Desktop/phantomjs-2.1.1-macosx.zip .
 5532* ll
 5533  npm i
 5534  npm start
 5535  atom .
 5536  npm run cli-create
 5537  npm start
 5538  git pull guanghe mobileH5V2
 5539  git remote
 5540  git remote add https://github.com/guanghetv/mobileH5V2.git
 5541  git remote add guanghe https://github.com/guanghetv/mobileH5V2.git
 5542  git remote
 5543  git pull guanghe devlop
 5544  git pull guanghe develop
 5545  git checkout mind-review
 5546  git pull guanghe develop
 5547  git checkout mind-review
 5548  git merge guanghe/develop develop
 5549  git bransh
 5550  git branch --all
 5551  git checkout mind-review
 5552  git merge guanghe/develop origin/develop
 5553  git fetch
 5554  git show
 5555  git checkout guanghe/feature/mind-review
 5556  git checkout -b mind-review
 5557  git status
 5558  git checkout develop
 5559  git fetch guanghe/develop
 5560  git fetch remotes/guanghe/develop
 5561  git fetch remotes/guanghe
 5562  git pull guanghe/develop
 5563  git remotes
 5564  git remotes --list
 5565  git remote --list
 5566  git remote
 5567  git pull guanghe develop
 5568  git merge guanghe/develop develop
 5569  git status
 5570  git branch
 5571  npm run cli-create
 5572  git status
 5573  git add .
 5574  git status
 5575  git commit -m '新增期中复习运营页面'
 5576  git push origin feature/mind-review
 5577  npm start
 5578* git checkout master
 5579* git remote -v
 5580* git pull guanghe master
运营平台
测试环境部署
// step3:部署到测试环境
ssh master@10.8.8.8  // 输入密码:u..m..
cd Shadow
git fetch Yfling h5-backstage:h5-backstage  // 当前是test分支
git fetch origin master:master  // 当前是test分支
git merge h5-backstage  // 合并到test分支
												
											git学习(持续踩坑中🤣)的更多相关文章
- GitHub以及Git学习 持续编辑学习中
		
官网地址: http://www.worldhello.net/gotgithub/01-explore-github/030-explore-github.html 1 加入github, http ...
 - jenkins + Git 搭建持续集成环境
		
持续集成通过自动化构建.自动化测试以及自动化部署加上较高的集成频率保证了开发系统中的问题能迅速被发现和修复,降低了集成失败的风险,使得系统在开发中始终保持在一个稳定健康的集成状态.jenkins是目前 ...
 - Git 学习(八)其他
		
Git 学习(八)其他 通过以上七章Git的学习,基本操作已差不多了,本章介绍一点落网之鱼: 包括如何忽略文件.配置别名.以及使用GitHub等. 当然,Git的强大远不是七章内容可概括的,之后可结 ...
 - Git学习原版手稿
		
手稿诞生记 Git学习的时候难免会有遗忘然后往复学习查看的过程,所以就形成了这个学习的手稿,记录了Git使用过程中的大部分命令,今天在清理的时候偶然看到了这些记录,而且最近也在写Git的 ...
 - Git 学习看这篇就够了!
		
Git是一个开源的分布式版本控制系统,可以有效.高速的处理从很小到非常大的项目版本管理. 可能新手会问"git和github有什么关系啊?" git是一个版本控制工具: githu ...
 - Git学习笔记与IntelliJ IDEA整合
		
Git学习笔记与IntelliJ IDEA整合 一.Git学习笔记(基于Github) 1.安装和配置Git 下载地址:http://git-scm.com/downloads Git简要使用说明:h ...
 - git学习之branch分支
		
作为新手,站在我的角度肤浅的来理解,分支就是相当于开辟了一个新的临时工作区,在这个工作区进行文件代码改动,然后在合并到master主工作区,这样能保证主工作区的安全性和稳定性,对于团队协作尤为重要. ...
 - git学习手册
		
#git学习手册 git: Git是一个开源的分布式版本控制系统,可以有效.高速的处理从很小到非常大的项目版本管理.[2] Git 是 Linus Torvalds 为了帮助管理 Linux内核开发而 ...
 - Git学习笔记(10)——搭建Git服务器
		
本文主要记录了Git服务器的搭建,以及一些其他的配置,和最后的小总结. Git远程仓库服务器 其实远程仓库和本地仓库没啥不同,远程仓库只是每天24小时开机为大家服务,所以叫做服务器.我们完全可以把自己 ...
 
随机推荐
- Android特效专辑(十一)——仿水波纹流量球进度条控制器,实现高端大气的主流特效
			
Android特效专辑(十一)--仿水波纹流球进度条控制器,实现高端大气的主流特效 今天看到一个效果挺不错的,就模仿了下来,加上了一些自己想要的效果,感觉还不错的样子,所以就分享出来了,话不多说,上图 ...
 - studio grandle渠道打包
			
1. Mainfest 文件中添加一个键值对,这里的value 我定义为 "UMENG_CHANNEL_VALUE"(当然实际应用中可以根据自己的需要命名),后面打包的时候会对这 ...
 - Hadoop RPC
			
hadoop rpc机制 && 将avro引入hadoop rpc机制初探 1 RPC RPC(Remote Procedure Call)--远程过程调用,它是一种通过网络从远程计算 ...
 - ASP.NET MVC不可或缺的部分——DI(IOC)容器及控制器重构的剖析(DI的实现原理)
			
IoC框架最本质的东西:反射或者EMIT来实例化对象.然后我们可以加上缓存,或者一些策略来控制对象的生命周期,比如是否是单例对象还是每次都生成一个新的对象. DI实现其实很简单,首先设计类来实现接口, ...
 - Swap Nodes in Pairs(交换节点)
			
Given a linked list, swap every two adjacent nodes and return its head. For example,Given 1->2-&g ...
 - java四大特性理解(封装继承多态抽象)
			
封装: 封装是把过程和数据包围起来,对数据的访问只能通过已定义的接口.面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治.封装的对象,这些对象通过一个受保护的接口访问其他对象.封装是一 ...
 - P2453 [SDOI2006]最短距离
			
题目描述 一种EDIT字母编辑器,它的功能是可以通过不同的变换操作可以把一个源串X [l..m]变换为新的目标串y[1..n].EDIT提供的变换操作有: 源串中的单个字符可被删除(delete): ...
 - C++string函数之strcpy_s
			
strcpy_s和strcpy()函数的功能几乎是一样的.strcpy函数,就象gets函数一样,它没有方法来保证有效的缓冲区尺寸,所以它只能假定缓冲足够大来容纳要拷贝的字符串.在程序运行时,这将导致 ...
 - Redis实现简单消息队列
			
http://www.jianshu.com/p/9c04890615ba 任务异步化 打开浏览器,输入地址,按下回车,打开了页面.于是一个HTTP请求(request)就由客户端发送到服务器,服务器 ...
 - Ocelot中文文档-管理
			
Ocelot支持在运行时通过一个认证的Http API修改配置.有两种方式对其验证, 使用Ocelot的内置IdentityServer(仅用于向管理API验证请求)或将管理API验证挂接到您自己的I ...