首页 > 技术文章 > git,svn基础操作

hjpqwer 2017-09-13 18:26 原文

git和svn的操作都能管理代码,现在主流的就是这两个了,两个的区别最大的是:

svn是集中式的版本控制系统。git是分布式的版本控制系统。svn 很简单 就不用说了。

git说说我最常用的把自己代码推送到github上:

我的电脑是 工作区(通过add)——>暂存区(通过commit)——>master

1:先在自己电脑上装git

2:先绑定一个自己的信息

$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"

3:创建一个文件 ,Git可以管理的仓库

  $ git init

4:打开Git Bash,输入

 $ ssh-keygen -t rsa -C "youremail@example.com"

.ssh文件位置:C:\Users\Administrator\.ssh
hosts位置:C:\Windows\System32\drivers\etc\hosts

5:用户主目录里找到.ssh目录,里面有id_rsaid_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人

登录github官网 登录自己的账号,在设置里 SSH and GPG keys ,点击 new ssh key ,title自己随便输 内容填写 id_rsa.pub内容。

6:在自己的github创建一个工程,

7:在自己的电脑上文件,

 $ git add readme.txt(把自己的文件,添加到暂存区)

 $ git commit -m "wrote a readme file"(把自己的文件,添加到master)

8:在电脑命令输入:后面git@github.com:michaelliao/learngit.git是自己在github上的常见工程的地址,最好用git不用http

 $ git remote add origin git@github.com:michaelliao/learngit.git

9:在电脑命令输入:(推送到远程master也是github的master)

$ git push -u origin master
这样github上显示就和自己本地的文件目录结构一样了。

如果 $ git push -u origin master 提交不上去 出现error: failed to push some refs to ‘’,那是因为 README.md 不在我们的文件里,接下来在
$ git pull --rebase origin master pull=fetch+merge 出现
warning: no common commits
remote: Counting objects: 3, done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (3/3), done.
From github.com:hanjunpeng/migu_baijuncheng
 * branch            master     -> FETCH_HEAD
 * [new branch]      master     -> origin/master

First, rewinding head to replay your work on top of it...
Applying: my commit file
我们在进行 $ git push -u origin master 就可以了



git一系列操作:

首先看一下自己的.ssh公钥和自己的邮箱是否拼配,如果不行在生成一个.ssh文件

先绑定一下自己的邮箱和用户名

$ git config —global user.name “your name”

$ git config —global user.email “your email”

生成.ssh文件命令:

$ ssh-keygen -t ras -C “your_email@yourmail.com”

在用户里找到.ssh文件 看到 id_rsa.pub id_rsa 文件 id_rsa.pub里的代码复制到 git 上的ssh keys 里。

新建一个文件存放项目,进到项目文件里

初始化命令:

$ git init

工作区 的文件提交到 暂存区 命令:

$ git add “your file”

暂存区 提交到 版本库 命令:提交到 master 分支上

$ git commit -m “your prompt”

版本库 提交到 那个远程仓库 命令:

$ git remote add origin 仓库名称

版本库 提交到 远程仓库 命令:

$ git push -u origin master

 

下来新建一个分支 daily/0.0.1 就可以在本地进行开发命令:

$ git branch daily/0.0.1

 

1: 首先绑定一下自己的姓名和email。命令如下:

$ git config —global user.name “your name”

$ git config —global user.email “your email”

2:生成一下 公钥和密钥 ssh keys。命令如下:

$ ssh-keygen -t rasa -C “your_email”

 

首先把自己的项目推送要github上的远程库上 流程如下:

1: 进到自己的项目 初始化一个git可以管理的仓库 .git  命令如下:

$ git init

2:把自己的项目 add 添加到 暂存区 命令如下:

$ git add . 

3:把自己的项目 commit 到版本库上 命令如下:

$ git commit -m “hjp first01”

4:把自己的项目 推送到 远程github 地址上 命令如下:

$ git remote add origin 你的github仓库地址上

5:在执行一条命令github上就有你的项目结构 命令如下:

$ git push -u origin master

以上流程是推送到 master 上。

 

普通平常时 master 时线上 自己本地开发的代码都是在分支上。以下是自己创建一个分支的流程

1: 进到自己的项目 初始化一个git可以管理的仓库 .git  命令如下:

$ git init

2:自己创建一个分支 并切换到分支上 daily0.0.1 命令如下:

$ git checkout -b daily/0.0.1

 

相当于:

$ git branch daily/0.0.1  创建一个分支

$ git checkout daily/0.0.1 切到这个分支上

3:在命令上查看当前分支 命令如下:

$ git branch

创建daily分支并切换到daily分支上 命令如下:

$ git checkout -b daily/0.0.1

查看分支历史命令:

$ git log

4:把自己的项目 add 添加到 暂存区 命令如下:

$ git add . Git

5:把自己的项目 commit 到版本库上 命令如下:

$ git commit -m “hjp first01”

6:把自己的项目推送到 自己的分支上 daily0.0.1 命令如下

$ git push -u origin  daily/0.0.1

7:

git pull命令的作用是,取回远程主机某个分支的更新,再与本地的指定分支合并。它的完整格式稍稍有点复杂。

$ git pull origin master

$ git pull origin daily/0.0.1 —allow-unrelated-histories

 推送到分支上命令:

$ git push origin daily/0.01

 

 

 

$ git tag publish/x.y.z

$ git push origin publish/x.y.z:publish/x.y.z

 

 

克隆远程仓库分支上的代码命令如下:

 git clone 远程仓库

cd 你的远程仓库

在远程仓库中切换到对应的分支上

 

日常发布代码:

Git pull origin master

Git add .

git commit -m “提交信息

git push origin daily/0.0.1

 

 

 

 

Mac版本安装Homebrew执行命令:

$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Homebrew是一款Mac OS平台下的软件包管理工具,拥有安装,卸载,更新,查看,搜索等很多使用的功能,简单一条命令,就可以实现包管理,而不用你关心各种依赖和文件路径的情况,十分方便快捷。

 

Git项目中使用GitLab,使用Homebrew工具就可以安装

$ brew install git

 

Mac推荐使用nvm管理node版本,命令安装nvm

$ curl -o- https://raw.githubusercontent.com/creationix/nvm/

v0.31.4/install.sh | bash

 

通过nvm安装最新版本的node

$ nvm install node

 

再通过npm安装tnpm

$ npm install tnpm -g --registry=http://registry.npm.alibaba-inc.com

 

Legao脚手架安装命令:

$ tnpm install -g legal-cli

 

Legao初始化:

$ legao init

如果做客户端项目类型选择:运营页面项目 下来一直 回车。

项目已经创建成功可以开始写项目了。

 

如果想运行项目命令:

$ legao dev

 

如果页面要埋点 也就是 ln 统计 目的是:能统计 PU/UV 用命令加 入埋点模块命令如下:

$ tnpm install --save @ali/mlib

 

流程如下:

 

html页面 title 里加入页面名称 再加入如下代码:

<script type="text/javascript">var cnzz_protocol = (("https:" == document.location.protocol) ? " https://" : " http://");document.write(unescape("%3Cspan id='cnzz_stat_icon_1000297732'%3E%3C/span%3E%3Cscript src='" + cnzz_protocol + "w.cnzz.com/c.php%3Fid%3D1000297732' type=‘text/javascript'%3E%3C/script%3E"));</script>

目的是引入 加入统计埋点的js 文件

 

js文件里引入cnzzlog文件

 

import {setCnzzTitle, cnzzLog} from ‘@ali/mlib/es5/cnzzLog';

 

setCnzzTitle(‘淘口令风险提示');

 

cnzzLog(‘已安装打开钱盾','钱盾首页打开');

 

这样就可以了;

 

淘口令风险提示

用到的接口 如下

1:判断手机类型:方法如下

 

if((/Windows\s(Phone(?:\sOS)?|NT)\s[\d\.]+/i).test(window.navigator.userAgent)){

 

}else if((/iPhone|iPad|iPod/i).test(window.navigator.userAgent)){

 

}else if((/Android/i).test(window.navigator.userAgent)){

 

}

 

2:判断手机硬件信息 是否安装 钱盾APP :方向如下

 

var params = {

  //ios 平台应用程序标记

  ios:'qiandun://',

  //android 平台应用程序标记

  android:'com.ali.money.shield'

};

 

window.WindVane.call(‘Base’,’isInstall’,params,function(e){

alert(‘success’+JSON.stringify(e))

},function(e){

alert(‘failure’+JSON.stringify(e))

}

 

如果要应用 google play 的识别 在那下载的渠道号和平台_版本号 ttid 做判断 就要识别一下 设备信息

 

用的方法如下:

 

 

Window.windvane,call(‘TBDeviceInfo

’,’getInfo’,{},function(e){

alert(‘success’+JSON.stringify(e));

},function(e){

alert(‘failure’+JSON.stringify(e));

})

 

 

 

mtop的使用

lib.mtop.request({

    api:'mtop.wlc.url.scan',

    v:'1.0',

    ecode:0,

    isSec:1,

    H5Request:true,

    dataType: 'json',

    data:{

      "data":JSON.stringify([

        {

          "url":`${urlHer}`,

          "id":"",

          "src":`${srcUrl}`

        }

      ])

    }

  },function(resJson){

    console.log(resJson);

  },function(resJson){

    console.log(resJson);

  });




   

 

推荐阅读