-
Notifications
You must be signed in to change notification settings - Fork 1
git
1、创建本地git仓库
mkdir xxxx
cd xxx
pwd 查下当前的目录
git init 初始化本地仓库
2、添加新文件
git add 文件的全称 含义:将文件添加到暂存区
git commit -m '注释' 含义:将暂存区所有的文件提交到仓库中
3、查看状态
git status
4、查看修改内容,不同点
git diff
5、查看提交的日志
git log --pretty=oneline
6、版本的回退
git reset --hard HEAD^ 将本次的版本回退到上一次版本
7、查看文件的具体内容
cat 文件全称
8、回退到指定版本
git reset --hard 版本序列号(可以不全)
9、记录每一次输入的指令
git reflog
10、撤销修改
git checkout -- readme.txt
git checkout其实是用版本库里的版本替换工作区的版本,无论工作区是修改还是删除,都可以“一键还原”。
命令git checkout -- readme.txt意思就是,把readme.txt文件在工作区的修改全部撤销,这里有两种情况:
一种是readme.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;
一种是readme.txt已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。
总之,就是让这个文件回到最近一次git commit或git add时的状态。
11、删除文件
rm 文件的全称
删除也是一个修改操作,我们实战一下,先添加一个新文件test.txt到Git并且提交
12、关联本地仓库和远程仓库
git remote add origin git@github.com:自己的github账户名/仓库名.git
例如:git remote add origin git@github.com:michaelliao/learngit.git
13、把本地库推送到远程仓库
git push -u origin master
把本地库的内容推送到远程,用git push命令,实际上是把当前分支master推送到远程。
由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。
推送成功后,可以立刻在GitHub页面中看到远程库的内容已经和本地一模一样
从现在起,只要本地作了提交,就可以通过命令:
$ git push origin master
把本地master分支的最新修改推送至GitHub,现在,你就拥有了真正的分布式版本库
14、从远程克隆一个本地库
git clone git@github.com:github账户名/仓库名.git
例如:git clone git@github.com:michaelliao/gitskills.git
15、创建分支切换到分支
git checkout -b dev
git checkout命令加上-b参数表示创建并切换,相当于以下两条命令:
$ git branch dev
$ git checkout dev
16、查看当前分支
git branch
git branch命令会列出所有分支,当前分支前面会标一个*号
17、切换分支
git checkout master
18、合并分支
git merge dev
我们把dev分支的工作成果合并到master分支上
19、删除指定的分支
git branch -d dev
查看分支:git branch
创建分支:git branch name
切换分支:git checkout name
创建+切换分支:git checkout -b name
合并某分支到当前分支:git merge name
删除分支:git branch -d name
20、分支策略
git merge --no-ff -m "merge with no-ff" dev
合并分支时,加上--no-ff参数就可以用普通模式合并,合并后的历史有分支, 能看出来曾经做过合并,而fast forward合并就看不出来曾经做过合并.
在实际开发中,我们应该按照几个基本原则进行分支管理:
首先,master分支应该是非常稳定的,也就是仅用来发布新版本,平时不能在上面干活;
那在哪干活呢?干活都在dev分支上,也就是说,dev分支是不稳定的,到某个时候,比如1.0版本发布时,再把dev分支合并到master上,在master分支发布1.0版本;
你和你的小伙伴们每个人都在dev分支上干活,每个人都有自己的分支,时不时地往dev分支上合并就可以了。
21、查看远程仓库信息
git remote
git remote -v显示更详细的信息
22、推送分支
推送分支,就是把该分支上的所有本地提交推送到远程库。推送时,要指定本地分支,这样,Git就会把该分支推送到远程库对应的远程分支上:
$ git push origin master
如果要推送其他分支,比如dev,就改成:
$ git push origin dev
但是,并不是一定要把本地分支往远程推送,那么,哪些分支需要推送,哪些不需要呢?
master分支是主分支,因此要时刻与远程同步;
dev分支是开发分支,团队所有成员都需要在上面工作,所以也需要与远程同步;
bug分支只用于在本地修复bug,就没必要推到远程了,除非老板要看看你每周到底修复了几个bug;
feature分支是否推到远程,取决于你是否和你的小伙伴合作在上面开发。
总之,就是在Git中,分支完全可以在本地自己藏着玩,是否推送,视你的心情而定
23、多人协作工作
因此,多人协作的工作模式通常是这样:
首先,可以试图用git push origin branch-name推送自己的修改;
如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并;
如果合并有冲突,则解决冲突,并在本地提交;
没有冲突或者解决掉冲突后,再用git push origin branch-name推送就能成功!
如果git pull提示“no tracking information”,则说明本地分支和远程分支的链接关系没有创建,用命令git branch --set-upstream branch-name origin/branch-name。
这就是多人协作的工作模式,一旦熟悉了,就非常简单
查看远程库信息,使用git remote -v;
本地新建的分支如果不推送到远程,对其他人就是不可见的;
从本地推送分支,使用git push origin branch-name,如果推送失败,先用git pull抓取远程的新提交;
在本地创建和远程分支对应的分支,使用git checkout -b branch-name origin/branch-name,本地和远程分支的名称最好一致;
建立本地分支和远程分支的关联,使用git branch --set-upstream branch-name origin/branch-name;
从远程抓取分支,使用git pull,如果有冲突,要先处理冲突。
24、自定义git
git config --global color.ui true Git显示颜色,会让命令输出看起来更醒目:
案例: wb-wt261136@MININT-AOUKK2A MINGW64 ~ $ cd D:/sacpage
wb-wt261136@MININT-AOUKK2A MINGW64 /d/sacpage $ git clone http://gitlab.alibaba-inc.com/platform/fis_sac.git Cloning into 'fis_sac'... remote: Counting objects: 1346, done. remote: Total 1346 (delta 0), reused 0 (delta 0) Receiving objects: 100% (1346/1346), 23.44 MiB | 8.20 MiB/s, done.
wb-wt261136@MININT-AOUKK2A MINGW64 /d/sacpage $ git checkout -b daily/1.0.6 fatal: Not a git repository (or any of the parent directories): .git
wb-wt261136@MININT-AOUKK2A MINGW64 /d/sacpage $ cd fis_sac/
wb-wt261136@MININT-AOUKK2A MINGW64 /d/sacpage/fis_sac (master) $ git checkout -b daily/1.0.6 Switched to a new branch 'daily/1.0.6'
wb-wt261136@MININT-AOUKK2A MINGW64 /d/sacpage/fis_sac (daily/1.0.6)
$ npm install
fis_sac@1.0.1 D:\sacpage\fis_sac
+-- classnames@2.1.5
+-- i18n-helper@1.1.1
+-- react-mixin@1.7.0
| +-- object-assign@2.1.1
| -- smart-mixin@1.2.1 -- uxcore@0.4.7
+-- UNMET PEER DEPENDENCY react@>=0.13.0
+-- uxcore-album@0.3.1
| +-- classnames@2.2.5
| -- object-assign@4.1.1 +-- uxcore-alert@0.2.2 | -- object-assign@4.1.1
+-- uxcore-animate@0.1.2
| +-- less-plugin-autoprefix@1.5.1
| | +-- autoprefixer@6.7.6
| | | +-- browserslist@1.7.6
| | | | -- electron-to-chromium@1.2.6 | | | +-- caniuse-db@1.0.30000632 | | | +-- normalize-range@0.1.2 | | | +-- num2fraction@1.2.2 | | | -- postcss-value-parser@3.3.0
| | -- postcss@5.2.16 | | +-- chalk@1.1.3 | | | +-- ansi-styles@2.2.1 | | | +-- escape-string-regexp@1.0.5 | | | +-- has-ansi@2.0.0 | | | | -- ansi-regex@2.1.1
| | | +-- strip-ansi@3.0.1
| | | -- supports-color@2.0.0 | | +-- js-base64@2.1.9 | | +-- source-map@0.5.6 | | -- supports-color@3.2.3
| | -- has-flag@1.0.0 | +-- object-assign@4.1.1 | -- rc-animate@2.0.4
| -- css-animation@1.3.2 +-- uxcore-badge@0.1.1 | +-- css-animation@1.2.6 | | -- component-classes@1.2.6
| | -- component-indexof@0.0.3 | -- object-assign@4.1.1
+-- uxcore-button@0.4.5
| -- object-assign@4.1.1 +-- uxcore-calendar@0.6.6 | +-- gregorian-calendar@4.1.6 | +-- gregorian-calendar-format@4.1.3 | | -- warning@2.1.0
| | -- loose-envify@1.3.1 | | -- js-tokens@3.0.1
| +-- object-assign@4.1.1
| +-- rc-calendar@6.0.2
| | -- rc-trigger@1.9.1 | | +-- rc-align@2.3.3 | | | +-- dom-align@1.5.3 | | | -- rc-util@4.0.2
| | -- rc-util@4.0.2 | +-- rc-time-picker@1.1.6 | -- rc-util@3.4.1
| +-- add-dom-event-listener@1.0.2
| | -- object-assign@4.1.1 | -- shallowequal@0.2.2
| -- lodash.keys@3.1.2 | +-- lodash._getnative@3.9.1 | +-- lodash.isarguments@3.1.0 | -- lodash.isarray@3.0.4
+-- uxcore-carousel@0.3.3
| +-- object-assign@4.1.1
| +-- UNMET PEER DEPENDENCY react@^0.14.0 || ^15.0.1
| +-- UNMET PEER DEPENDENCY react-dom@^0.14.0 || ^15.0.1
| -- react-slick@0.14.6 | +-- classnames@2.2.5 | +-- json2mq@0.2.0 | | -- string-convert@0.2.1
| +-- object-assign@4.1.1
| +-- react-responsive-mixin@0.4.0
| | +-- can-use-dom@0.1.0
| | -- enquire.js@2.1.5 | -- slick-carousel@1.6.0
| -- jquery@3.1.1 +-- uxcore-cascade-select@0.1.12 | -- object-assign@4.1.1
+-- uxcore-checkbox-group@1.1.2
| -- object-assign@4.1.1 +-- uxcore-collapse@1.2.0 | -- object-assign@4.1.1
+-- uxcore-crumb@0.2.1
| +-- object-assign@4.1.1
| -- uxcore-crumb-item@0.1.4 | -- object-assign@4.1.1
+-- uxcore-dialog@0.4.5
| +-- object-assign@4.1.1
| -- rc-dialog@6.2.3 | -- babel-runtime@6.23.0
| +-- core-js@2.4.1
| -- regenerator-runtime@0.10.3 +-- uxcore-dropdown@0.3.0 | +-- object-assign@4.1.1 | -- rc-dropdown@1.4.10
+-- uxcore-empty-data@0.1.2
| -- object-assign@4.1.1 +-- uxcore-form@1.8.13 | +-- deep-equal@1.0.1 | +-- lie@3.1.1 | | -- immediate@3.0.6
| +-- lodash@4.17.4
| +-- object-assign@4.1.1
| +-- uxcore-const@0.0.2
| +-- uxcore-date-form-field@0.5.4
| | +-- object-assign@4.1.1
| | -- rc-util@4.0.2 | +-- uxcore-form-field@0.2.9 | | -- object-assign@4.0.1
| +-- uxcore-form-row@0.1.4
| | -- object-assign@4.1.1 | +-- uxcore-input-form-field@0.1.7 | | -- object-assign@4.1.1
| +-- uxcore-other-form-field@0.1.4
| | -- object-assign@4.1.1 | +-- uxcore-pickable-form-field@0.2.2 | | +-- object-assign@4.1.1 | | -- uxcore-form-field@0.1.10
| | -- object-assign@4.0.1 | +-- uxcore-select-form-field@0.2.4 | | +-- natty-fetch@2.2.3 | | +-- object-assign@4.1.1 | | +-- uxcore-form-field@0.1.10 | | | -- object-assign@4.0.1
| | -- uxcore-validator@0.1.4 | +-- uxcore-switch-form-field@0.1.2 | | +-- object-assign@4.1.1 | | -- uxcore-form-field@0.1.10
| | -- object-assign@4.0.1 | +-- uxcore-textarea-form-field@0.1.11 | | +-- autosize@3.0.20 | | +-- object-assign@4.1.1 | | +-- uxcore-form-field@0.1.10 | | | -- object-assign@4.0.1
| | -- uxcore-utils@0.1.1 | | -- object-assign@4.1.1
| -- uxcore-tinymce@0.2.7 | -- object-assign@4.1.1
+-- uxcore-formatter@0.1.3
+-- uxcore-grid@1.2.2
| +-- object-assign@4.1.1
| -- react-prop-types@0.3.2 +-- uxcore-layout@1.0.5 | -- object-assign@4.1.1
+-- uxcore-load-more@0.1.2
| -- object-assign@4.1.1 +-- uxcore-mention@0.3.10 | +-- object-assign@4.1.1 | -- react-mixin@2.0.2
| -- object-assign@2.1.1 +-- uxcore-menu@1.3.1 | +-- object-assign@4.1.1 | -- rc-menu@4.13.0
| +-- dom-scroll-into-view@1.2.1
| -- object-assign@4.1.1 +-- uxcore-message@0.2.6 | +-- object-assign@4.1.1 | -- rc-notification@1.2.0
| -- rc-util@2.1.1 +-- uxcore-multi-select@0.2.2 | +-- object-assign@4.1.1 | +-- UNMET PEER DEPENDENCY react@>=0.13.0 | -- uxcore-button@0.3.12
+-- uxcore-pagination@0.2.4
| -- object-assign@4.1.1 +-- uxcore-pickable@1.1.3 | -- object-assign@4.1.1
+-- uxcore-popover@0.3.5
| +-- object-assign@4.1.1
| +-- rc-tooltip@3.3.5
| +-- UNMET PEER DEPENDENCY react@>=0.13.0
| -- uxcore-button@0.3.12 +-- uxcore-progress@1.1.2 | +-- object-assign@4.1.1 | -- rc-progress@1.0.4
| -- object-assign@4.1.1 +-- uxcore-radiogroup@1.2.1 | -- object-assign@4.1.1
+-- uxcore-rate@0.1.5
| -- object-assign@4.1.1 +-- uxcore-select2@0.3.5 | +-- object-assign@4.1.1 | -- rc-select@6.4.8
+-- uxcore-steps@1.1.7
| -- object-assign@4.1.1 +-- uxcore-switch@0.1.3 | +-- object-assign@4.1.1 | -- rc-switch@1.4.3
| -- classnames@2.2.5 +-- uxcore-table@1.12.16 | +-- natty-fetch@2.1.3 | | -- natty-storage@1.1.2
| +-- object-assign@4.1.1
| +-- uxcore-cell-field@0.1.4
| | -- object-assign@4.1.1 | +-- uxcore-checkbox-cell-field@0.1.1 | | -- object-assign@4.1.1
| +-- uxcore-date-cell-field@0.1.6
| | -- object-assign@4.1.1 | +-- uxcore-dropdown@0.2.6 | -- uxcore-validator@0.1.4
+-- uxcore-tabs@0.5.3
| +-- object-assign@4.1.1
| -- rc-tabs@7.0.13 | +-- UNMET PEER DEPENDENCY react@^0.14.3 || ^15.0.0 | -- react-hammerjs@0.5.0
| -- hammerjs@2.0.8 +-- uxcore-tag@1.0.2 | +-- object-assign@4.1.1 | -- uxcore-dialog@0.3.10
| +-- rc-dialog@5.4.0
| | -- rc-util@3.4.1 | -- rc-util@2.0.3
+-- uxcore-tooltip@0.3.4
| -- object-assign@4.1.1 +-- uxcore-totop@0.2.0 | -- object-assign@4.1.1
+-- uxcore-transfer@0.3.4
| +-- deepcopy@0.5.0
| -- object-assign@4.1.1 +-- uxcore-tree@0.2.10 | +-- object-assign@4.1.1 | -- rc-tree@1.3.10
| -- object-assign@4.1.1 +-- uxcore-tree-select@0.1.4 | +-- object-assign@4.1.1 | -- rc-tree-select@1.9.0
| +-- classnames@2.2.5
| -- object-assign@4.1.1 +-- uxcore-uploader@1.5.8 | +-- object-assign@4.1.1 | -- uploadcore@2.3.1
-- uxcore-validator@0.2.0 -- object-assign@4.1.1
npm WARN uxcore-button@0.3.12 requires a peer of react@>=0.13.0 but none was installed. npm WARN uxcore-transfer@0.3.4 requires a peer of react@>=0.13.0 but none was installed. npm WARN uxcore-button@0.3.12 requires a peer of react@>=0.13.0 but none was installed. npm WARN uxcore-layout@1.0.5 requires a peer of react@>=0.13.0 but none was installed. npm WARN react-slick@0.14.6 requires a peer of react@^0.14.0 || ^15.0.1 but none was installed. npm WARN react-slick@0.14.6 requires a peer of react-dom@^0.14.0 || ^15.0.1 but none was installed. npm WARN react-hammerjs@0.5.0 requires a peer of react@^0.14.3 || ^15.0.0 but none was installed.
wb-wt261136@MININT-AOUKK2A MINGW64 /d/sacpage/fis_sac (daily/1.0.6) $ nowa lib
Update available: nowa@1.1.2 (Current: 1.1.0)
Run npm i nowa -g to update.
Installing dependencies of libraries...
[tnpm ?????o§??¤o] ??°?????o 4.19.4?????°?????o 4.19.1??èˉ·?°??????o§?°??°????
????ˉ??¥?§è? tnpm install -g tnpm@release-4 ?¥??è£?-¤???
?|???¤o?2???é??èˉ·?°èˉ sudo tnpm install -g tnpm@release-4
[1/12] uxcore-validator@~0.2.0 installed at node_modules.0.2.0@uxcore-validator [2/12] uxcore-formatter@~0.1.4 installed at node_modules.0.1.4@uxcore-formatter [3/12] uxcore-button@~0.4.6 installed at node_modules.0.4.10@uxcore-button anti semver uxcore-select2@0.4.5 ao rc-select ao classnames@2.x use uxcore-select2's dependencies version: "^2.1.2" instead of "2.x" anti semver uxcore-menu@1.4.3 ao rc-menu ao classnames@2.x use uxcore-menu's dependencies version: "^2.1.2" instead of "2.x" anti semver uxcore-menu@1.4.3 ao rc-menu ao object-assign@4.x use uxcore-menu's dependencies version: "^4.0.0" instead of "4.x" anti semver uxcore-calendar@0.7.2 ao rc-time-picker ao classnames@2.x use uxcore-calendar's dependencies version: "^2.1.2" instead of "2.x" [4/12] uxcore-menu@~1.4.1 installed at node_modules.1.4.3@uxcore-menu anti semver uxcore-calendar@0.7.2 ao rc-calendar ao classnames@2.x use uxcore-calendar's dependencies version: "^2.1.2" instead of "2.x" [5/12] uxcore-message@~0.2.6 installed at node_modules.0.2.6@uxcore-message [6/12] uxcore-calendar@~0.7.1 installed at node_modules.0.7.2@uxcore-calendar anti semver uxcore-table@1.12.19 ao uxcore-tree@0.2.10 ao rc-tree ao classnames@2.x use uxcore-tree's dependencies version: "^2.1.2" instead of "2.x" anti semver uxcore-table@1.12.19 ao uxcore-tree@0.2.10 ao rc-tree ao object-assign@4.x use uxcore-tree's dependencies version: "^4.0.0" instead of "4.x" [7/12] @ali/uxcore-cascade-multi-select@~1.5.x installed at node_modules.1.5.3@@ali\uxcore-cascade-multi-select [8/12] uxcore-cascade-select@~0.2.0 installed at node_modules.0.2.3@uxcore-cascade-select [9/12] uxcore-select2@~0.4.2 installed at node_modules.0.4.5@uxcore-select2 [10/12] uxcore-table@~1.12.16 installed at node_modules.1.12.19@uxcore-table [11/12] uxcore-form@~1.8.13 installed at node_modules.1.8.14@uxcore-form [12/12] uxcore-dialog@~0.5.0 installed at node_modules.0.5.5@uxcore-dialog peerDependencies WARNING @ali/uxcore-cascade-multi-select@1.5.3 ao uxcore-button@0.3.12 requires a peer of react@>=0.13.0 but none was installed All packages installed (92 packages installed from npm registry, used 3s, speed 369.29kB/s, json 129(250.67kB), tarball 885.64kB) Recently updated (since 2017-03-02): 8 packages (detail see file D:\sacpage\fis_sac\node_modules.recently_updates.txt) Today: a uxcore-select2@0.4.5 (10:28:12) a @ali/uxcore-cascade-multi-select@1.5.3 ao uxcore-kuma@2.11.0 (10:50:19) Building libraries... Time: 1859ms Asset Size Chunks Chunk Names uxcore.js 3.98 MB 0 [emitted] uxcore Minify file: D:\sacpage\fis_sac\dist\uxcore.js
wb-wt261136@MININT-AOUKK2A MINGW64 /d/sacpage/fis_sac (daily/1.0.6) $ git pull origin daily/1.0.6 From http://gitlab.alibaba-inc.com/platform/fis_sac
- branch daily/1.0.6 -> FETCH_HEAD Updating a3f67bd..6107d8a error: Your local changes to the following files would be overwritten by merge: dist/uxcore.js dist/uxcore.min.js src/lib/uxcore.js src/lib/uxcore.min.js Please commit your changes or stash them before you merge. Aborting
wb-wt261136@MININT-AOUKK2A MINGW64 /d/sacpage/fis_sac (daily/1.0.6) $ git fetch --all Fetching origin
wb-wt261136@MININT-AOUKK2A MINGW64 /d/sacpage/fis_sac (daily/1.0.6) $ git reset --hard origin/daily/1.0.6 HEAD is now at 6107d8a 2017-3-8 16:10 xiaoyi update
wb-wt261136@MININT-AOUKK2A MINGW64 /d/sacpage/fis_sac (daily/1.0.6) $ git pull origin daily/1.0.6 From http://gitlab.alibaba-inc.com/platform/fis_sac
- branch daily/1.0.6 -> FETCH_HEAD Already up-to-date.
wb-wt261136@MININT-AOUKK2A MINGW64 /d/sacpage/fis_sac (daily/1.0.6) $ git status On branch daily/1.0.6 Changes not staged for commit: (use "git add ..." to update what will be committed) (use "git checkout -- ..." to discard changes in working directory)
modified: dist/app-en.js
modified: dist/app-zh-cn.js
modified: dist/applyforaccount-en.js
modified: dist/applyforaccount-zh-cn.js
modified: dist/demo-en.js
modified: dist/demo-zh-cn.js
modified: dist/home-en.js
modified: dist/home-zh-cn.js
modified: dist/menubar-en.js
modified: dist/menubar-zh-cn.js
modified: dist/rerun-en.js
modified: dist/rerun-zh-cn.js
modified: dist/tossledger-en.js
modified: dist/tossledger-zh-cn.js
Untracked files: (use "git add ..." to include in what will be committed)
dist/jobview-en.js
dist/jobview-zh-cn.js
dist/jobview.css
dist/jobview.html
html/jobview.html
src/pages/jobview/
no changes added to commit (use "git add" and/or "git commit -a")
wb-wt261136@MININT-AOUKK2A MINGW64 /d/sacpage/fis_sac (daily/1.0.6) $ git add .
wb-wt261136@MININT-AOUKK2A MINGW64 /d/sacpage/fis_sac (daily/1.0.6) $ git commit -m 'add jobview page wb-wt261136' [daily/1.0.6 eb88d91] add jobview page wb-wt261136 23 files changed, 625 insertions(+), 14 deletions(-) rewrite dist/applyforaccount-en.js (97%) rewrite dist/applyforaccount-zh-cn.js (98%) create mode 100644 dist/jobview-en.js create mode 100644 dist/jobview-zh-cn.js create mode 100644 dist/jobview.css create mode 100644 dist/jobview.html create mode 100644 html/jobview.html create mode 100644 src/pages/jobview/CascadeMultiSelect.less create mode 100644 src/pages/jobview/PageJobview.js create mode 100644 src/pages/jobview/PageJobview.less create mode 100644 src/pages/jobview/index.js
wb-wt261136@MININT-AOUKK2A MINGW64 /d/sacpage/fis_sac (daily/1.0.6) $ git push -u origin daily/1.0.6 Counting objects: 26, done. Delta compression using up to 4 threads. Compressing objects: 100% (25/25), done. Writing objects: 100% (26/26), 23.98 KiB | 0 bytes/s, done. Total 26 (delta 17), reused 0 (delta 0) remote: {"data":"success","code":200}????·2è¢?è??§??°?°?????3???????????èˉ·?¥??é?????????assets.alibaba-inc.com??èˉ|?è§http://www.atatech.org/articles/53341 To http://gitlab.alibaba-inc.com/platform/fis_sac.git 6107d8a..eb88d91 daily/1.0.6 -> daily/1.0.6 Branch daily/1.0.6 set up to track remote branch daily/1.0.6 from origin.
-by wt