当前位置:   article > 正文

Git Tutorial常用命令指南

git tutorial

Git Tutorial

参考文档:git在线手册

一、Git 工程协作流程

1.下载项目至本地 git clone + url
2.添加项目中的submodule,如果项目已经克隆到了本地,执行下面的步骤:

  • 初始化本地子模块配置文件 git submodule init
  • 更新项目,抓取子模块内容。git submodule update
  • 子模块的更新 git submodule update --remote

3.多人协作工程 Merge

  • git clone拉取master分支到本地,保留master分支不变,创建自己的分支并切换到自己的分支 git checkout -b my/dev
  • 在自己的本地分支上进行工程开发
  • 开发代码定期 git add git commit git status查看
  • 当master分支与自己的分支都有的新的更新时,利用git rebase将自己的更新与master的更新结合

4.git rebase 具体步骤:

  • 切换到本地master分支 git checkout master
  • 拉取master分支的更新 git pull origin master
  • 切换回本地的自己的分支 git checkout {my/dev}
  • git rebase master 并解决出现的冲突,成功后git log可以查看到最近的一次commit 将自己的分支更新push上去
  • git push origin my/dev 注意:不要直接push到master分支
  • 如果要将自己的更新合并入master分支,则在repo网页提交merge request。

二、git常用命令介绍

1.git push

1.1 git push 命令用于从将本地的分支版本上传到远程并合并
git push <远程主机名> <本地分支名>:<远程分支名>
• 以下命令将本地的 master 分支推送到 origin 主机的 master 分支。
git push origin master
• 以下命令将本地的 自建 分支推送到 origin 主机的 自建 分支。
git push origin {自建分支名} 如:git push origin lsy/dev
注意:请在自己的分支上进行push,不要随意把自己的更新push到master分支!!

1.2 删除自己的远程分支
git push origin --delete {远程分支名}

1.3 在git rebase之后如果出现 push失败的问题
解决git rebase操作后推送远端分支不成功的问题
举一个简单的例子说明如下: 最开始分支只有一个master上面有A<–B<–C三个分支,在C提交上开出了一个新的feature分支 并在其上进行了开发,而在feature分支进行开发并commit两次后,master分支也发生了变化,当前git仓库如下图所示:

A<–B<–C<-------F<–G (master)
                \
                D<–E (feature)
由于进行了rebase操作,现在远端和本地的feature分支的状况是这样的:
A<–B<–C<—F<–G<–D’<–E’ (本地feature分支)
                \
                  D<–E (远端feature分支)

这种情况下是不能进行fast-forwad模式的合并操作的,所以当执行git push origin feature命令时会报一个错误。
如果feature分支只有你一个人在开发,那么可以直接进行强制推送git push --force origin feature

2.git pull
拉取远程更新到本地 常用于master分支
git pull origin master:拉取远程master分支到本地master分支

3.git status
查看目前的状态信息

4.git commit
git commit 常用于远程分支的提交
git commit -a -m ‘your commit message’

git commit --amend 更改commit的描述

5.git checkout
常用于创建分支并切换新分支、切换分支
git checkout -b {分支名} 本地创建一个新分支,并且切换到这一新的分支
git checkout -b {分支名} {远程分支名} 本地创建新分支并与远程分支创建连接

git checkout {已存在分支名} 本地切换到已经存在的分支
• 添加别的分支的文件到当前分支
如果 自己改的模块 比 master走的更远,可以直接将 某分支下的改动文件(对应{commid-id}) checkout 到 自己分支:
git checkout you-commit-id/分支名 file。 添加{commit-id}下的{file} 到当前所在的分支
例:git checkout 555d1bdef9c0761feb0332204d5b223f26ff714a abcd.py

6.git branch
查看本地分支、远程分支、删除分支
git branch 查看本地分支列表
git branch -a 查看远程分支列表
git branch -d {本地存在的分支名} 删除本地的分支

7.git rebase
• 用于合并自己分支的更新到master 在自己的分支下:git rebase master
• 提交多个commit之后,为了保持graph的整洁,合并多个commit到一个结点 git rebase -i {commit id} commid id 为根节点的commit id注意是要合并结点的前一结点
git 几个commit点合并成一个commit点

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/501603
推荐阅读
相关标签
  

闽ICP备14008679号