博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
git学习(持续踩坑中
阅读量:5969 次
发布时间:2019-06-19

本文共 5584 字,大约阅读时间需要 18 分钟。

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.mdgit initgit add README.mdgit 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.githint: Updates were rejected because the tip of your current branch is behinhint: 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 
<分支名>

会提示本地的版本落后于远端的版本;

1017946-20170713173042618-96460405.png

为了覆盖掉远端的版本信息,使远端的仓库也回退到相应的版本,需要加上参数--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的远端仓库版本一致。

o_git1.png

H5mobile中用到的git流程:

// step1:拉取远端分支git remote -v// git fetch origin dev:dev(错误)git fetch origin devgit checkout -b dev origin/devgit loggit checkout mastergit loggit checkout devgstclear// step2:提交代码git pull origin dev // 当前在dev分支,拉取远端分支,与远端同步git statusgit add .git commit -m ''git statusgit push origin dev// step3:部署到测试环境ssh master@10.8.8.8->输入密码-> yescd mobileH5// 方案1:git checkout devgit pull origin devnpm run testprod// 方案2:git pull origin devnpm run dev// 之后打开http://10.8.8.8/mobile_......html(注意这里有没有端口号8001?80?。。)exit // 退出服务器// merge!!!!这里是合并到master!!!!!// step4:merge到master分支,打补丁,push到mastercd mobileH5git pull origin dev  // 一定要检查一下是否是最新版本git checkout mastergit 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 devPS:// 在本地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.pyhttp://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.zipnpm run cli-create  // 输入这句之后后面会有提示让你输入文件名//启动项目npm startgit pull guanghe mobileH5V2git remote add guanghe https://github.com/guanghetv/mobileH5V2.gitgit 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 Shadowgit fetch Yfling h5-backstage:h5-backstage  // 当前是test分支git fetch origin master:master  // 当前是test分支git merge h5-backstage  // 合并到test分支

转载于:https://www.cnblogs.com/Yfling/p/7047109.html

你可能感兴趣的文章
mysql 出现Cannot delete or update a parent row: a...
查看>>
aspx页面与ascx控件脚本冲突的问题
查看>>
网站解密:从零开始学建站
查看>>
find指定具体时间参数-newermt
查看>>
Linux mail 命令
查看>>
Ansi与Unicode及慎用W2A等
查看>>
IDEA 连接 GIT OSCHINA 提交本地已存在的项目
查看>>
EFI分区如何删除
查看>>
【Java集合源码剖析】TreeMap源码剖析
查看>>
读取oracle注释
查看>>
二叉树
查看>>
Laravel 5.1 artisan 的使用
查看>>
Maven 学习之旅
查看>>
C Primer Plus 第5章 运算符、表达式和语句 编程练习及答案
查看>>
Python点滴
查看>>
WINDOWS 几种坐标系
查看>>
大豆和黄豆芽还能吃吗?
查看>>
Yii2中如何将Jquery放在head中的方法
查看>>
解析solidity的event log
查看>>
[转发] 【GRT安智网】HTC安致手机ROM国内首个中文定制教程goapk首发[最新厨房V0......
查看>>