Git
- Git 下载及安装步骤
- 点击 git bash 打开 git 窗口
- git help
- 简单的配置 git
- git config --list 查看当前配置
- git config --global user.name 'Tracy' 设置 userName
git config --unset --global user.name 去掉 userName - git config --global user.email 'liufei_Tracy@outlook.com' 设置 userEmail
- git config --global color.ui true 设置颜色
- cat ~/.gitconfig 查看当前用户的主目录下面的 gitconfig 文件
- 别名 alias : 可以为自己常用的命令起一个短些的别名 比如想简化 git checkout 命令为 git co, [git config --global alias.co checkout]
设置成功之后可以在 gitconfig 文件下查看 - 当你想更正别人仓库里的错误时,要走一个流程:
- 忽略跟踪文件
让 git 忽略一些没有用的文件,比如系统自动生成的文件等- 全局忽略的文件
[git config --global core.excludesfile ~/.gitignore_global] 告诉git 我要忽略的文件列表已经放在了 gitignore_global 文件里了
[vim ~/.gitignore_global] 编辑文件 写要忽略的文件列表后关闭 保存
可以参考这个地址来查看一般所有项目全局范围内想要都会忽略的文件:https://gist.github.com/octocat/9257657 - 针对项目忽略的文件
先想办法进入到项目的根目录,然后创建文件
vim .gitignore //创建并编辑文件
可以参考这个地址来查看不同的项目一般想要忽略的文件: https://github.com/github/gitignore
- 全局忽略的文件
- 先 fork 别人的仓库,相当于拷贝一份,相信我,不会有人直接让你改修原仓库的 clone 到本地分支,做一些 bug fix
- 发起 pull request 给原仓库,让他看到你修改的 bug
- 原仓库 review 这个 bug,如果是正确的话,就会 merge 到他自己的项目中
- 至此,整个 pull request 的过程就结束了
- 我的Fork : https://github.ibm.com/dlliufei/v18
Github Global 总代码:https://github.ibm.com/webstandards/v18
打开 "Github Global 总代码"- 以下三步操作我们只做这一次, 以后不用再次做了
- Fork自己的代码
- 在 "https://github.ibm.com/dlliufei/v18" 里点击 绿色button "Clone or download" -> Open in desktop 这样down load global 的代码到本地
- 打开命令行,cd 到 你上一步下载的本地 MastheadsFooters 文件夹 然后 run 如下命令 敲如下两个命令
1. Run `npm install`
2. Run `npm install -g yuidocjs`
run 上面两个命令之前 先 在命令行里敲 npm -v 和 node --version 保证你安装了 npm 和 node
- 我们自己的库的名字为 : dlliufei/v18
- 列表上有一句话 "This branch is even with webstandards:dev. "
如果这句话里包含词语 "incorrect", "behind" 我们则不能直接改代码 (这说明你自己的本地代码和global 的代码已经不一样了。 我们必须从最新的 mastehead 上 pull 下来最新的代码然后才能更改)
如果出现 "even" 和 "ahead" 的话 证明我们已经 pull 下最新的代码了 incorrect = not correct
behind = wrong
even, ahead = good - 如何 从最新的 mastehead 上 pull request
点击 "new pull request" ->我们要让左边是 "dlliufei/v18" 右边是 "Webstandards/v18" (注意: 两边在选择同样的同时页面会崩,所以我们要在他下面点击 switch.... )
这个操作是从 "Webstandards" pull 到我们自己的代码库里
点击 green button "create pull request" -> title 命名为 "起名:synchronization" 就是一个固定的名字 没有什么太大意义 不用改 -> content 部分也不用动 直接点击 green button "create pull requeste" -> green button "Merge pull request" -> attempt merge [这时候会提示已经 merge (左上角有一个紫色的 "Merged" logo 显示)] - 回到 桌面版本 github 上 -> 选择 current brand : dev -> Pull origin 刷新下 (这步是在让 我自己 fork 的代码和我们本机 download 的代码保持统一 当现实 Fetch origin 的时候说明已经同统一了) -> 此时我们可以看到 dev 右边显示 few mintes ago
- 此时我们需要新作一个 branch(点击 current branch 填写名字 (命名为 修改的国家-translation-update-日期。 如: ANZ-translation-update-20190719; CN-translation-update-20190719。 如果task 是同时update 几个国家的话, 可以写一起 如 AU-JP-TW-CN-translation-update-20190719) -> new branch -> 弹出对话框 blue button "create branch"
- 所有代码都下载在自己的文件夹里 我们要改的就是 src :: translation::mastehead and footer
我们要修改的是两个文件, 一个 js 一个 json- 我们要注意上面的 current branch 的名字是我们自己刚刚新建的 branch 的名字
- 对比的时候我们能看见的只是被动过的代码 以粉绿的交叉色显示出来。
- 如果说发现其他的 不是我改的 但是也在这里显示了 就证明说我们改的代码的版本出现了问题
一般为何会出现版本问题? 答: 最有可能的是我们忘记了"从最新的 mastehead 上 pull request" 这步 - 版本出现问题的处理方法是: 把所有改动撤销然后重新去 pull 新的 code 下来
- Test Server:
改完 code 之后我们要在test server 上看看我们改的对不对- cd C:\Users\FeiLiu\Desktop\Tracy\IBM\Task\MastheadsFooters\v18 到我们存代码的路径
- 敲命令 "npm start" 之后会出现一堆列表 需要一段时间因为它是在run 后台的框架 然后最终弹出来一个 local:3000 的本地url
在弹出的页面里点击 "Vial`s ad-hoc dev test pages" -> Translations -> copy "Add local to url of this page like this" 后面的 url
这个url 改成正确的 local 就是我们可以看到的 test url.
http://localhost:3000/testpages/translations.html?locale=us-en
这步发现什么东西没改好的话 就直接回 js/json 文件里直接修改 然后刷新页面或者换浏览器即可看到改后效果(缓存比较大我们最好一次改对)
- 提交
- 在所有 self QA 做好之后 github 左列上面会出现两个文件? 叫做 ...list.html
如果我们把这两个文件一起提交就会报错
所以我们选中这两个文件-> 右键-> discard changes
(run 框架的时候其实这两个文件已经出来了, 但是我们不要动, 一定要等local 300 弹出来 self QA 完毕再 discard changes) - 在 github 左列的下边先写一些 comments
- title same with branch name (如果改的途中又新加了其他国家,那么这个titiel 就把这个国家的名字也加上 如: KR-AU-JP-TW-CN-translation-update-20190719)
新加国家之后 branch 的名字不用改, keep 之前的就行了 - 确保新建了 local branch 再走下一步 desccription 里需要列出所有 update 的request 我们自己整理好
写完点击它下面蓝色的提交按钮 -> 点击右列上边的 "Publish branch" (这是从我本地 传到 我 frok 的库里)
等 publish 成功之后 github 左列那些我们改过的列表都消失不见了 content 显示 No local change
Tips: 如果publish 的时候出错 说明你的 GitHub DeskTop 设置有问题, 你需要打开 GitHub DeskTop->Repository->Repository setting->Remote->primary remote repository(origin) 设置成你自己 fork 之后的路径 如: https://github.ibm.com/dlliufei/v18.git - 在 Global 没有回信的时候 就说明 branch 还没有被 publish, 我们可以再继续改
继续改的时候 banch 的名字都不用变, content 直接写新的 RR 之前的不用再重新写一遍了。 新提一个 issue 在确认好新的内容已经在 pull 上了 (已经不会出现 "compare & pull request" 按钮了) - publish 成功后 我们刷新我们之前 fork 的 url dlliufei/v18 会看到我们的 branch 几分钟前被更新
- 点击 green button "compare & pull request"
此时我们是要向 global 提交, 所以我们看到的界面设置是和我们最初的设置是相反的 左边是 webstandard/v18 右边是 dlliufei/v18 - 下面的 title 写我们之前在 github 左列上面的 title , desc 写我们之前写的 desc
green button "create pull request" -> 最下面出现一些红色的 × Review is required 和 × Merging is blocked 不用管 - 現在 pull 完不提issue 了, 直接在 slack 把 pull url 贴上去 并且 @ to Tomas Vegh and Barbora Harmanova, if needed you can notify Matus Nemeth.
could you pls help to publish :
Thank you
以后不用艾特他俩了@Sheltie @tomas.vegh - I received some new guidance about opening pull requests.
Every new pull request has to contain a approval from Web manager of country that was updated. Approval can be added in two ways:
1. PTT task link with approval from WM in comments
2. Name of Web manager that approved the changes.
Note: All PRs that don't contain approval from WM have to be rejected.
So pls provide the evidence for approval in this task
List of WMs and their assignment - live js url : https://1.www.s81c.com/common/v18/js/data/inen.js
- 在所有 self QA 做好之后 github 左列上面会出现两个文件? 叫做 ...list.html
- GitHub DeskTop 软件下载:https://desktop.github.com/
CVS 账号就是 我们的 IBM Intranet ID 账号,已经申请成功了
- Our cvs repository is below:9.115.26.169
/home/cvsroot
dlliufei/ibm
Use port: 2401
We'll put our source files into SmarterComputing\09-Archiving\Source\. - Replace 是直接覆盖我的文件,不管我修改过没有
- Team - Update 不会覆盖我修改过的文件
- check out 是第一次download 需要的工程
关于WAP开发版本控制工具使用
一、服务器环境将分为dev 与 test 两个环境
dev 环境使用cvs head版本(所有开发任务完成后提交到这里)
test 环境使用cvs branch分支版本(每周任务节点,将head稳定版本打一个分支)
二、版本使用说明
(1)项目组成员每当完成某个模块的时候需要ftp传dev环境经测试没有问题之后提交cvs head上.
(2)每个周日为最后的结点,将本周的规定完成的任务,打一个分支版本放到test环境,让测试人员测试,如果发现有问题会联系到该模块的相关人员进行修改,没有问题之后提交到head,并且同步到分支版本!
三、Cvs 使用及技巧
1.首先当你在做任务的时候第一时间先把本地update 最新代码然后进行修改,这样会减少你cvs提交冲突。
2.当遇到冲突的时候先compare with 最新版本,然后把新版本的差异同步到自己的文件里,然后 replace 到本地,再与本地历史文件最近的那个对比把你的新代码同步之后在提交