使用git做代码托管
+++ init做git的初始化+++ lounious@ali-198299:~/Aone$ git init Initialized empty Git repository in /Users/lounious/Aone/.git/ +++git clone拉取远程代码 +++ lounious@ali-198299:~/Aone$ git clone http://gitlab.alibaba-inc.com/suikun.lzc/git_library_pythoncode.git Cloning into 'git_library_pythoncode'... remote: Counting objects: 7, done. remote: Total 7 (delta 0), reused 0 (delta 0) Unpacking objects: 100% (7/7), done. +++本地代码提交,检查git状态+++ lounious@ali-198299:~/Aone/test_auot$ git status +++git add 添加文件项+++ +++git commit 提交简介+++ +++git push 推送至远端git库+++ lounious@ali-198299:~/Aone/test_auot$ git add . lounious@ali-198299:~/Aone/test_auot$ git commit -m "add test filr" [master 4ef2421] add test filr Committer: lounious <lounious@ali-198299.local> 6 files changed, 239 insertions(+), 1 deletion(-) create mode 100644 .idea/encodings.xml create mode 100644 .idea/misc.xml create mode 100644 .idea/modules.xml create mode 100644 .idea/test_auot.iml create mode 100644 .idea/workspace.xml +++git push 推送至远程+++ lounious@ali-198299:~/Aone/test_auot$ git push Enumerating objects: 12, done. Counting objects: 100% (12/12), done. Delta compression using up to 4 threads Compressing objects: 100% (9/9), done. Writing objects: 100% (9/9), 3.29 KiB | 3.29 MiB/s, done. Total 9 (delta 0), reused 0 (delta 0) To http://gitlab.alibaba-inc.com/suikun.lzc/test_auot.git e28f69c..4ef2421 master -> master lounious@ali-198299:~/Aone/test_auot$
git push完成后,可以在远端的仓库看到提交的文件或代码
提交记录及变更比对
本文以伙伴工具上commit的记录去获取的版本变更。以后每次版本发布(注意不是提测)后要去更新一下xPaaS的提测信息https://yuque.antfin-inc.com/ant-iot-test/wriu74/wt0ag0
提测时要做变更管控,测试从哪个版本测试到哪个版本。该方法适用于边迭代边测试的情况。
比如:老版本为10.1.61.29-45,在伙伴中查询查询commitId为8023f42a(伙伴显示8位,打包后显示7位)。
从上图获取本次测试的版本为10.1.61.30-46,对应的commitId为7e8b84b
将版本号和commit关联起来,去查询对应版本之间的修改。
比对两个版本的变更数据。
如下9个文件变更,12条插入,45个删除
+++比对两次提交的文件修改。 lounious@MacBook-Pro:~/Documents/xPaaS_dcf/xPaaS-Container$ git diff --stat 7e8b84b 8023f42a base/src/main/java/com/alipay/iot/xpaas/plugin/H5InternalAppPlugin.java | 2 +- container/build.gradle | 2 +- container/src/main/AndroidManifest.xml | 1 - container/src/main/java/com/alipay/iot/xpaas/TinyUtils.java | 5 ++--- container/src/main/java/com/alipay/iot/xpaas/TinyWelcome.java | 15 ++------------- container/src/main/java/com/alipay/iot/xpaas/ui/CustomH5Activity.java | 7 ++----- container/src/main/java/com/alipay/iot/xpaas/ui/H5ActivityUtils.java | 2 +- gradle.properties | 2 +- tinyCommand/src/main/java/com/alipay/iot/tinyCommand/TinyCommandReceiver.java | 21 ++------------------- 9 files changed, 12 insertions(+), 45 deletions(-) lounious@MacBook-Pro:~/Documents/xPaaS_dcf/xPaaS-Container$
比对两个版本中文件修改的差异
lounious@MacBook-Pro:~/Documents/xPaaS_dcf/xPaaS-Container$ git diff 7e8b84b 8023f42a container/build.gradle diff --git a/container/build.gradle b/container/build.gradle index 239c6f4c..11065bdc 100644 --- a/container/build.gradle +++ b/container/build.gradle @@ -123,7 +123,7 @@ dependencies { bundle "com.alipay.android.phone.mobilecommon:lbs-build:1.9.0.190322152359@jar" bundle "com.alipay.multimedia.base:basic-build:1.19.0.190201151149@jar" bundle "com.alipay.android.phone.mobilesdk:aspect-build:1.4.1.190330043113@jar" -// bundle "com.alipay.android.phone.wallet:nebuladebug-build:1.0.0.190401175712@jar" // useless debug bundle + bundle "com.alipay.android.phone.wallet:nebuladebug-build:1.0.0.190401175712@jar" bundle "com.alipay.android.phone.thirdparty:androidsupportpalette-build:7.22@jar" bundle "com.alipay.android.phone.mobilesdk:monitor-build:2.1.4.190401182105@jar" bundle "com.alipay.android.phone.wallet:beephoto-build:1.0.0.190312151905@jar" lounious@MacBook-Pro:~/Documents/xPaaS_dcf/xPaaS-Container$
使用git
1、git安装
2、使用git bash
git bash通过/和\判断你要使用linux或者win的语法,擅长linux命令行的获取路径用/
lanvis@LANVIS15AB MINGW64 ~ $ pwd /c/Users/lanvis lanvis@LANVIS15AB MINGW64 ~ $ cd /c/Users/ lanvis@LANVIS15AB MINGW64 /c/Users
3、初始化git环境
新建一个空的文件夹:
mkdir Git_Library
cd Git_Library
git init
lounious@ali-198299:~/Documents$ mkdir Git_Library lounious@ali-198299:~/Documents$ cd ./Git_Library/ lounious@ali-198299:~/Documents/Git_Library$ git init Initialized empty Git repository in /Users/lounious/Documents/Git_Library/.git/ lounious@ali-198299:~/Documents/Git_Library$
MTK系列宝盒的地址:
http://gitlab.alipay-inc.com/flab/PayBoxMini.git
esp平台代码,初始化repo
repo init -u http://gitlab.alipay-inc.com/alipbox/manifest.git
3.1 git pull 和git clone的区别
git pull 更新当前目录下的代码/文件。如果有相同名称内容不同的文件则提示是否强制覆盖
git clone http://git.***/name.git:下拉远程仓库中的代码,以name为文件夹创建目录。将仓库中的文件全部下拉下来。
总结:首次拉取代码使用git clone,后面更新代码使用git pull
4、拉取代码
初次拉取代码
首次拉取代码,使用git clone命令。
#复制代码到本地
git clone ****.git
进入工程目录下
#查询所有本地分支
git branch -al
#查询远程分支
git branch -r
更新代码
在每次登录git bash之后,都要对代码更新,除非是自己使用的代码
git pull命令:将远程代码拉到本地,更新代码
5、提交新代码(文件)
$ git add test.txt $ git commit -m "add test.txt" [master b84166e] add test.txt 1 file changed, 1 insertion(+) create mode 100644 test.txt
建立远程连接:git remote add origin https://git.***.git
上传代码到远程库,上传之前最好先Pull一下,执行命令: git pull origin master
再执行:git push origin master
6、删除远程文件
git clone git@github.com:xxx/xxx.git
对需要删除的文件、文件夹进行如下操作:
git rm test.txt (删除文件)
git rm -r test (删除文件夹)
提交修改
git commit -m “Delete some files.”
上传代码到远程库,上传之前最好先Pull一下,执行命令: git pull origin branch
将修改提交到远程仓库的xxx分支:
git push origin branch
7、切换分支
git checkout [branch]
当checkout远程分支的时候,因为本地做了修改。会有提示:
error: Your local changes to the following files would be overwritten by merge:
Please, commit your changes or stash them before you can merge.
Aborting
---------------------
放弃本地修改,直接覆盖之
git reset --hard git pull
7、git 配置相关
查询当前git 配置
git config --list
添加远程仓库
git remote set-url origin "https://..."
git config remote.origin.url "https://..."
删除远程仓库
git remote rm origin
添加全局变量
git remote --global set-url origin "https://..."
git config --global remote.origin.url "https://..."