git(gerrit) 常用命令

上一篇 / 下一篇  2021-08-24 09:20:28 / 个人分类:SoftTest

51Testing软件测试网%a V;B*v$IHD.C\

rQ1l~#q Ww/s*n0

S1kC0_"~#|Y8K0
  1. 1. Make the changes to the files on your machine51Testing软件测试网q1Ta H0\#t&V)}

    git add <file name>
    git add .      # 全部提交到缓存区
51Testing软件测试网&K _&U'V0u'vB
  1. 2. If you are making a new commit use

    *b-i Zn7mh i{}H'@0
  2.     git commit

    e*{-tf9S t0

  3. 3C6D-^qR4VziW0
    51Testing软件测试网0b#t/W0j?-X#I$u'v

  4. Or to amend an existing commit use51Testing软件测试网"n ~w'`:G(Z(w7r

  5.     git commit --amend

    ~%f;l{ L6t9w a0

  6. 0{6rHt}%Sq(}0
    51Testing软件测试网9L"ETfz

  7. Please make sure you add a commit message as it becomes the description for your change.51Testing软件测试网 C fC4`/N/q"|7kC


?aQlz!FLL0
在commit的时候,发现提交者的名称和email都是错误的,这时需要先配置成当前的用户,以及对应的email
1
2
$ git config user.name test
$ git config user.email test@xxx.com

  1. "VQ*FL'd+a5\W N051Testing软件测试网Lr/q#JWIi

  2. 3. Push the change for code review

    P{D tn8L0
  3.     git push origin HEAD:refs/for/master

    ;q5p&B2U/cQ6Z-~4t/l0
  4. 51Testing软件测试网h} ~_RN
    51Testing软件测试网g"N'@ep

  5. Close this dialog and you should be able to see your recently created change in the 'Outgoing changes' section on the 'Your changes' page.

    \ uJu rB3k0

x8n?7y:z+`0
本地显示配置信息:
    git config --list

U5aP#{"k0
4. Branch:
    git checkout -b <your-branch-name >       #创建一个新的分支同时切换到新创建的分支

z+xu;v"Q Ww0
51Testing软件测试网-Jb)wg%p:aw"U
Q1: push远程时被拒绝! [remote rejected] HEAD -> refs/for/master (no new changes)
分析:
no new changes 表示本地分支和远程分支代码没有差别,也就是没有新的提交。
Gerrit审核根据commit id 和 changeId来判断是不是新的提交,dev分支merge到master分支后,在master上可能没有生成新的commit id和changeId。也就是两个分支的commit id和changeId都相同,在master分支推送到Gerrit的时候,Gerrit判断内容相同,因此拒绝push。
51Testing软件测试网)T~m|Z1j4l1X ~
方法一:通过git commit --amend生成新的changeId,然后再push;

方法二:在merge的时候加上--no-ff参数。

VC_2l!w0Z;P0

--no-ff:不使用fast-forward方式合并,合并的时候会创建一个新的commit用于合并。51Testing软件测试网2ch#LzQ

一、创建版本库

初始化一个Git仓库,使用git init命令。或者直接从远程库 git clone.51Testing软件测试网!n-ObpI-| T(D

添加文件到Git仓库,分两步:

,Oy'D#F$p-o#N N T&i'?9Z0
  1. 使用命令git add <file>,注意,可反复多次使用,添加多个文件;
  2. 使用命令git commit -m <message>,完成。
51Testing软件测试网F(D6jb,s
二、版本回退
  • HEAD指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令git reset --hard commit_id

    X/y&qSk"Z]0
  • 穿梭前,用git log可以查看提交历史,以便确定要回退到哪个版本。51Testing软件测试网 i+Q#to`4}/_

  • 要重返未来,用git reflog查看命令历史,以便确定要回到未来的哪个版本。

    F3by6CK1L#Z9vA/M IV Z0
51Testing软件测试网w4k k]u
三、版本修改

    每次修改,如果不用git add到暂存区,那就不会加入到commit中。

51Testing软件测试网 Gy\`O fi
四、撤销修改

场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout -- file51Testing软件测试网;K2k1p XGwm

场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD <file>,就回到了场景1,第二步按场景1操作。51Testing软件测试网4hr.{GZ6aJ

五、删除文件

-L^)z y tA0

命令git rm用于删除一个文件。如果一个文件已经被提交到版本库,那么你永远不用担心误删,但是要小心,你只能恢复文件到最新版本,你会丢失最近一次提交后你修改的内容

q|`@;K%LQ t2cr#R5sn0

把误删的文件恢复到最新版本:$git checkout -- test.txt51Testing软件测试网8X#p x fM)v"BV![

六、添加远程库

?.`$i5xrwY^0

要关联一个远程库,使用命令git remote add origin git@server-name:path/repo-name.git

2i9V!hq9@;e0

关联一个远程库时必须给远程库指定一个名字,origin是默认习惯命名;51Testing软件测试网v8XO S`U#u

关联后,使用命令git push -u origin master第一次推送master分支的所有内容;

-{;~$i Q4Kil/I0

此后,每次本地提交后,只要有必要,就可以使用命令git push origin master推送最新修改

0W s a g-p/z1N.Y6Cs0


TAG:

 

评分:0

我来说两句

日历

« 2021-10-18  
     12
3456789
10111213141516
17181920212223
24252627282930
31      

数据统计

  • 访问量: 180431
  • 日志数: 130
  • 图片数: 4
  • 文件数: 1
  • 书签数: 1
  • 建立时间: 2006-12-11
  • 更新时间: 2021-10-15

RSS订阅

Open Toolbar