下面是命令操作的详细步骤,每一步都是相连接的;对于git的相关命令,包括了团队开发时候如何操作,以及QA如何测试的;都挺详细的,可能有注释的理解不太正确,可以进行补充;
也可以看着之前发布的一篇git命令清单,里边的图是至关重要的;图理解了,才会思考下一步如何进行;
1. 简单操作:linux
(1)ls显示目录所有的内容
(2)ls -a 显示隐藏文件./..
(3)ls -al d开头文件夹 列表显示出文件详细信息
(4)mkdir 文件名 创建文件夹
touch index.html 创建文件
(5)vim index.html 编辑文件 i 输入文件内容 ESC退出文件 :+wq存盘退出
(6)cat index.html 查看文件内容
(7)cp index.html index2.html 拷贝文件
(8)mv index2.html index.html 具有移动和修改
(9)rm -rf 强制删除
(10) cd ~ 根目录 pwd 个人工作目录
(10)cd ./ 当前文件
2. npm 简单命令
exports=modules.exports,但是this指向不同;
(1)npm init -y 一步生成package.json包 name最好自己命名 version 版本号
script 可以创建命令
license:mis开源 ISC自己的
(2)npm info jquery 查看jquery的版本
npm i jquery@2.1 --save --save保存在package.json中;默认是最新版本(一般指定某版本)
次版本号:功能更新
(3)npm i
(4)npm i underscore -S jquery的库辅助 在dependencies中
(5)npm i babel-core@6.4 --save-dev(-D)
(6)npm ls 安装的所有的包,可以查看依赖
(7)npm ls | grep jquery 查看安装的包
dependencies 线上需要的包
devDependecise 线上已经是转过es5的,不用再用这个包
(8)npm outdated 查看过期的包
'jquery':'^2.1.1' ^保留第一个版本号,后面取最新
验证: npm info jquery
'jquery':'~2.1.1'锁定前两位...
'jquery':'2.1.1'锁定前三位
'jquery':'*'配置最新的
wanted 就是安装的以^,*要求的
(9) npm update 根据wanted进行升级
3. git 简单操作
git远端控制 gitlab 开源
(1) new repo 创建仓库 对应一个项目
inilialize this repository width a readme 选择
gitignore 不需要创建 node
license 创建 MIT
(2) git clone github地址 文件名
clone width SSH 安全代码管理协议 配置公钥和私钥
clone width HTTPS http+ssl 必须输入用户名和密码
git根据公钥产生私钥
(3)ssh-keygen -t rsa -C 邮箱地址
一路回车 [RSA 2048]成功
.ssh隐藏文件
根据clone找到c盘的.ssh文件
在github中找到setting ->SSH and GOG keys 粘贴公钥
(4) git config --global user.name 出现用户名
git config --global user.name aaa 改名为aaa 找不到的时候
(5) git config --global user.email
也可以在最后在clone 地址
有文件夹生成 .git .gitignore .package.json来配置的插件
(6)git status 查看状态
git config --global alias.st status 配置status的别名
git st 简写
红色:没有被跟踪
(7) git add . 把文件放到索引仓库 已经执行过的文件就不用在执行
(8)git commit -m '这是我的第一个提交' 提交到本地仓库
git ci 是commit的别名
git commit -am '这是我的第二个提交'
(9) git push 提交到远程仓库
master->master表示提交成功 刷新远端仓库有显示文件
(10)git rm 文件名 删除文件
git st git ci -am 'detele a file' git push 再次远程提交
团队协作:
(1)git clone github地址 pbh ;生成项目文件夹 多人相同方式
(2)进入pbh git branch 查看分支(不能在master上修改)
(3)git br maizuo-20171225-gengxin-bugfix 没有master的操作权限(创建新分支)更名为pbh-bug
(4) git br 查看当前分支
分支开发,主干发布
或者:git checkout -b pbh-bug 创建并显示在该分支上
(5) git checkout maizuo-20171225-gengxin-bugfix 切换分支
工作目录对应当前分支;本地工作目录只能跟踪当前分支
(6)git ci -am '' 进入当前文件pbh
在这里进行切换分支操作: index.html内容发生变化;
(7)git push 放到远程仓库fatal致命错误:查看远端有没有该分支
git push --set-upstream origin pbh-bug(分支)
没有提交到master;可以查看到分支github;
也可以修改.git文件:[branch 'ghb-bug']
remote=origin
merge = refs/heads/ghb-bug
修改内容发布:此时的master已经是修改的
时刻查看分支内容是否是最新;
(5) git pull 将master上的东西放到工作区 此时的代码还是老代码
git push (everything up-to-date)本地和远端一样
(6) git merge master 将分支和最新线上的东西合并 :q 在ghb-bug分支上执行
(7) git br 查看此时所在的分支 git push(远端没有该分之)
(9) git push --set-upstream origin ghb-bug github查看到分支
QA测试:
重新创建文件
(1) git clone 地址 maizuo-QA
(2) git br 进入该文件后查看当前分支
(3) git br -a 查看分支
绿色:本地;红色:分支
(3) git checkbox pbh-bug 把该分支拉下来
采用branch发布
git st 会自动提示push;
此时可以切换分支查看变化;
(4)git merge pbh-bug 到master分支 将master和pbh-bug进行合并
git st 会自动提示push;
此时可以切换分支查看变化;git push
已有人测试过的时候,再次测试ghb-bug的时候:在maizuo-QA找不存在某个分支的时候:
(1)git fetch --all 找到所有分支
白色的说明已经合并过的分支;
(2)git branch 找到该分支
(3)git checkout ghb-bug 内容和master不一样
git checkout master -> git merge ghb-bug
当有相同的文件的时候,git pull ->每次测试的时候都应该有该步骤
合作:在github项目上 setting->collaborators 邀请合作人
branches保护分支