git命令

分支管理如何处理的

1、创建dev分支,然后切换到dev分支

$ git checkout -b dev
Switched to a new branch 'dev'

2、使用git branch命令查看当前分支

$ git branch
* dev
  master

3、切换分支

git checkout master

4、git merge name命令用于合并指定分支到当前分支

git marge dev

5、删除分支命令:

git branch -d (branchname)

如何提交代码

 第1步:同步远程仓库代码:git pull

提交代码第1步:git pull 同步远程仓库代码到本地

git add / git commit代码之前首先git pull,需先从服务器上面拉取代码,以防覆盖别人代码;如果有冲突,先备份自己的代码,git checkout下远程库里最新的的代码,将自己的代码合并进去,然后再提交代码。

命令:git pull

出现Already up-to-date代表本地代码已经更新到和远程仓库一致了。

第2步:查看当前状态:git status

提交代码第2步:git status  查看当前状态

当你忘记修改了哪些文件的时候可以使用 git status  来查看当前状态,红色的字体显示的就是你修改的文件。

第3步:提交代码到本地git缓存区:git add

提交代码第3步:git add .  或者 git add xxx

命令:git add 文件名1 文件名2 ...

情形一:如果你git status 查看了当前状态发现都是你修改过的文件,都要提交,那么你可以直接使用 git add .  就可以把你的内容全部添加到本地git缓存区中

情形二:如果你git status 查看了当前状态发现有部分文件你不想提交,那么就使用git add xxx(上图中的红色文字的文件链接)  就可以提交部分文件到本地git缓存区。

第4步:推送代码到本地git库:git commint

提交代码第4步:git commit -m "提交代码"   推送修改到本地git库中

命令:git commit 文件名 -m "提交代码备注"

第5步:提交本地代码到远程仓库:git push

提交代码第5步:git push <远程主机名> <远程分支名>  把当前提交到git本地仓库的代码推送到远程主机的某个远程分之上。

命令:git push

代码提交合并成功!(最后一行的c7531bd..d6d07d5就是代码的版本号)

git merge 和rebase 有什么区别

1、结果上没有区别

简单来说,git merge和git rebase从最终效果来看没有任何区别,都是将不同分支的代码融合在一起。

2、 git merge会生成一个新的合并点,而git rebase不会。

rebase会把你当前分支的 commit 放到公共分支的最后面,所以叫变基。就好像你从公共分支又重新拉出来这个分支一样。
举例:如果你从 master 拉了个feature分支出来,然后你提交了几个 commit,这个时候刚好有人把他开发的东西合并到 master 了,这个时候 master 就比你拉分支的时候多了几个 commit,如果这个时候你 rebase master 的话,就会把你当前的几个 commit,放到那个人 commit 的后面。

 

merge 会把公共分支和你当前的commit 合并在一起,形成一个新的 commit 提交

 

 

代码review如何做的

什么是代码review?

其实就是代码再次查看评审。

git-review安装

apt-get install git-review               # ubuntu
yum install git-review                   # centos
pip install git-review                     # python方式安装


git-review配置


添加gerrit用户名

 git config --global gitreview.username gerritadmin


代码工程添加 .gitreview配置文件
.gitreview

[gerrit]
host=192.168.3.57
port=29418
project=mec-demo
defaultbranch=dev


提交代码
新增代码

gerrit@node-33:~/gerrit/mec-demo$ git add .
gerrit@node-33:~/gerrit/mec-demo$ git status
On branch test
Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)
 
        new file:   test123
 
gerrit@node-33:~/gerrit/mec-demo$ git commit -m "new file"
[test 3f7515b] new file
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 test123
# 每次提交前都要和要提交到的分支对齐,有冲突的话需要解决冲突
gerrit@node-33:~/gerrit/mec-demo$ git fetch origin dev:dev 
gerrit@node-33:~/gerrit/mec-demo$ git rebase dev 
Current branch review/unknown/test is up to date.
gerrit@node-33:~/gerrit/mec-demo$ git review -c -v


patch 代码

在原分支上

gerrit@node-33:~/gerrit/mec-demo$ git branch
  dev
* test
gerrit@node-33:~/gerrit/mec-demo$ git status
On branch test
nothing to commit, working directory clean
gerrit@node-33:~/gerrit/mec-demo$ echo "test" >> test123 
gerrit@node-33:~/gerrit/mec-demo$ git status
On branch test
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)
 
        modified:   test123
 
no changes added to commit (use "git add" and/or "git commit -a")
gerrit@node-33:~/gerrit/mec-demo$ git add .
gerrit@node-33:~/gerrit/mec-demo$ git commit --amend 
# 每次提交前都要和要提交到的分支对齐,有冲突的话需要解决冲突
gerrit@node-33:~/gerrit/mec-demo$ git fetch origin dev:dev 
gerrit@node-33:~/gerrit/mec-demo$ git rebase dev 
Current branch review/unknown/test is up to date.
gerrit@node-33:~/gerrit/mec-demo$ git review -c -R -v
.......
To ssh://gerritadmin@192.168.3.57:29418/mec-demo
 * [new branch]      HEAD -> refs/for/dev/test


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值