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学习(持续踩坑中🤣)的更多相关文章

  1. GitHub以及Git学习 持续编辑学习中

    官网地址: http://www.worldhello.net/gotgithub/01-explore-github/030-explore-github.html 1 加入github, http ...

  2. jenkins + Git 搭建持续集成环境

    持续集成通过自动化构建.自动化测试以及自动化部署加上较高的集成频率保证了开发系统中的问题能迅速被发现和修复,降低了集成失败的风险,使得系统在开发中始终保持在一个稳定健康的集成状态.jenkins是目前 ...

  3. Git 学习(八)其他

    Git 学习(八)其他 通过以上七章Git的学习,基本操作已差不多了,本章介绍一点落网之鱼:  包括如何忽略文件.配置别名.以及使用GitHub等. 当然,Git的强大远不是七章内容可概括的,之后可结 ...

  4. Git学习原版手稿

    手稿诞生记        Git学习的时候难免会有遗忘然后往复学习查看的过程,所以就形成了这个学习的手稿,记录了Git使用过程中的大部分命令,今天在清理的时候偶然看到了这些记录,而且最近也在写Git的 ...

  5. Git 学习看这篇就够了!

    Git是一个开源的分布式版本控制系统,可以有效.高速的处理从很小到非常大的项目版本管理. 可能新手会问"git和github有什么关系啊?" git是一个版本控制工具: githu ...

  6. Git学习笔记与IntelliJ IDEA整合

    Git学习笔记与IntelliJ IDEA整合 一.Git学习笔记(基于Github) 1.安装和配置Git 下载地址:http://git-scm.com/downloads Git简要使用说明:h ...

  7. git学习之branch分支

    作为新手,站在我的角度肤浅的来理解,分支就是相当于开辟了一个新的临时工作区,在这个工作区进行文件代码改动,然后在合并到master主工作区,这样能保证主工作区的安全性和稳定性,对于团队协作尤为重要. ...

  8. git学习手册

    #git学习手册 git: Git是一个开源的分布式版本控制系统,可以有效.高速的处理从很小到非常大的项目版本管理.[2] Git 是 Linus Torvalds 为了帮助管理 Linux内核开发而 ...

  9. Git学习笔记(10)——搭建Git服务器

    本文主要记录了Git服务器的搭建,以及一些其他的配置,和最后的小总结. Git远程仓库服务器 其实远程仓库和本地仓库没啥不同,远程仓库只是每天24小时开机为大家服务,所以叫做服务器.我们完全可以把自己 ...

随机推荐

  1. 安卓TV开发(六) 移动智能终端UI之实现类似GridView的焦点控制FocusView框架

    转载请标明出处:http://blog.csdn.net/sk719887916/article/details/40045089,作者:skay 前言 安卓TV开发(五) 移动智能终端UI之实现主流 ...

  2. LeetCode之旅(20)-Power of Three

    题目: Given an integer, write a function to determine if it is a power of three. Follow up: Could you ...

  3. javascript操作select元素一例

    熟悉一下js对select元素的操作,html页面中建立一个form,其中包含一个select元素和submit按钮. 当选择select中某一项时改变其文字,当select中所有项的文字都改变后,重 ...

  4. c程序的编译

    linux系统下采用gcc进行编译,而在aix系统下采用xlc 进行编译. 附上aix安装xlc地址:https://www.ibm.com/developerworks/cn/aix/library ...

  5. JFinal配合Shiro权限控制在FreeMarker模板引擎中控制到按钮粒度的使用

    实现在FreeMarker模板中控制对应按钮的显示隐藏主要用到了Shiro中的hasRole, hasAnyRoles, hasPermission以及Authenticated等方法,我们可以实现T ...

  6. ajax调用servlet

    1.利用myecilpse建立一个web项目 2.导入需要的包: commons-beanutils.jar commons-collections-3.1.jar       commons-lan ...

  7. ffmpeg转换参数和压缩输出大小的比率 参考 最新版本FFMPEG

    https://blog.cnlabs.NET/3668.html ffmpeg 转换压缩比例 FFMPEG如果是压缩为FLV文件 3个编码可选1. -c:v flv 标准FLV编码 这个好处是速度快 ...

  8. /usr/lib/uwsgi/plugins/python_plugin.so: cannot open shared object file: No such file or directory

    Django uwsgi部署方式下产生这个Bug,后来发现把uwsgi配置ini文件里面的 #plugins = python 把上面这句配置语句注释掉,uwsgi就可以运行了,当然,是正常可用运行状 ...

  9. Niop2017初赛滚粗记

    初赛踢蹬滚粗 TOT (╯°Д°)╯︵┻━┻ ヽ(`Д´)ノ︵ ┻━┻ ┻━┻ 排序啊排序,净是排序,自打我学了C++就再没学过排序!!wtf! (╯°Д°)╯︵ /(.□ . )我tm怎么知道建国那 ...

  10. Hadoop生态圈初识

    一.简介 Hadoop是一个由Apache基金会所开发的分布式系统基础架构.Hadoop的框架最核心的设计就是:HDFS和MapReduce.HDFS为海量的数据提供了存储,则MapReduce为海量 ...