Category - SCM-tool

? gitlab ?    2019-03-26 17:10:57    384    0    0

  1. git reset test.txt #将指针后移
  2. git checkout test.txt #重新检出一份代码,检出的版本是当前workspace 最新的commit版本


test.txt :modify ,未add ,未commit

撤销修改内容

  1. git reset test.txt #无改变,因为未受控,未追踪
  2. git checkout test.txt #撤销修改内容

test.txt :modify ,add ,未commit

撤销 add

  1. git reset test.txt #返回到未add 的状态
  2. git checkout test.txt #撤销修改内容

test.txt :modify ,add ,commit

撤销commit

  1. ##对于修改已经commit 到本地仓库的
  2. git log -n 2 ##找到上一次commit pre-ID
  3. git reset pre-ID ## 将workspace 恢复到上一条commit,即撤销本次commit
  4. git status ## 可以看到文件又回到add 未commmit状态

对于本地仓库已经更新远程最新,想要撤销更新,回退到未更新前的某个commit 的位置

  1. git reset ID
  2. git status
  3. git checkout XXX XXXXfile

等于

  1. git reset --hard ID ## --hard 表示回退指针再恢复文件内容
  2. ## 即--hard == reset + checkout
  3. git status
  4. # 以下摘自https://git-scm.com/book/zh/v2
  5. 虽然在调用时加上 --hard 选项可以令 git reset 成为一个危险的命令(译注:可能导致工作目录中所有当前进度丢失!),但本例中工作目录内的文件并不会被修改。 不加选项地调用 git reset 并不危险 它只会修改暂存区域。
以上,恢复到远程某个commit 时的版本,等到远程稳定时再用git pull 就可以重新再更新到最新


2019-03-26 14:26:33    361    0    0

merge 和cherry pick

merge

merge也是同一分支的远程和本地的合并,即远程分支有修改但未更新到本地的文件,同时在本地被修改commit . 当进行push 的时候会报错,并提示使用git pull 进行更新合并

  1. git pull = git fetch + git merge
  2. ## git 会进行智能合并,不能自动解决冲突的,会变成nnmerge 状态,需要手动编辑合并

merge是分支和分支之间的合并,从一个分支向另一个分支推送全部修改,可以通过命令merge request 进行合并。

这一种合并一般需要用merge request 进行整个branch的合并

cherry pick

是挑选出特定的commit , 推送到另一个分支中

? gitlab ?    2019-01-17 11:46:46    1429    1    0
? accurev ?    2019-01-11 16:23:16    2704    0    0

基本概念

Workspace    - Private developer work area.

Stream          - Configuration of related elements. Code may be promoted into or inherited from streams.

Depot            - Main repository on a server for all related source code.

Snapshot       - Static (protected) stream that cannot be moved, renamed, or altered 

? gitlab ?    2019-01-11 16:22:44    1675    0    2
? accurev ?    2019-01-11 16:22:44    2830    0    0

系统: ubuntu 14

场景 :安装软件 Accurev 

依赖: java

遇见的问题及解决:

jdk 已经安装,路径也全部配置正确,但是安装程序仍报以下错误:

./AccuRev_6_0_2_LinuxClientOnly_x86_2_4.bin: 3420: exec: /tmp/install.dir.4419/Linux/resource/jre/bin/java: not found 

? bugzilla ?    2019-01-11 16:22:44    2431    1    0

 

1. 修改密码

Preferences  --> Name and Password

可以修改密码,姓名,邮箱地址

? bugzilla ? ? python ?    2019-01-11 16:22:44    1250    0    0

需求:

1. 根据bug list 导出表格

2. 指定显示固定字段

3.使用bugzilla 自有的导出CSV 格式

 

思路:

1. bugzilla 导出查询结果的功能已有,可以直接在页面点击csv , 通过浏览器直接下载表格。

2. 需求转化为如何生成下载csv 的url 。

3. 取一个url 进行分析 ,抽取其中的 bug list 和固定字段 进行切割,使下载链接模板化。

4. 使用bug list 和固定字段作为参数,对url 模板进行实例化。

5. 其他: 模拟浏览器 ,进行登录,下载 。

6. 扩展: 修改值,提交修改。

? gitlab ?    2019-01-11 16:21:47    648    0    0

git 常用操作

参考 https://git-scm.com/book/zh/v2


 
配置credential.helper

每次与git做通讯时,需要输入用户密码,记住密码的方式如下:

 
  1. git config --global credential.helper store
 
此时查看配置
 
  1. git config --list
  2. ##可见一行credential.helper=store
  3. ##表示认证信息将会存储


.................

? gitlab ?    2019-01-11 16:21:47    1190    0    0
 
 

redhat 安装 git 图形化工具 gitk

 
  1. yum install gitk
  2. ##安装过程yum 会自动检测依赖的软件是否安装及版本是否匹配,并进行依赖安装或升级

.........

3/4