美文网首页
T07:Git的使用

T07:Git的使用

作者: 杨强AT南京 | 来源:发表于2020-03-30 08:33 被阅读0次

      因为使用到Git,所有这里按照需要整理了一个文档。主要用来管理代码。


    准备工作

    1. 登录到服务器创建仓库
      • 管理员会提供url/username/password。
    • 提示:

      • 使用git无法远程创建仓库
      • 远程创建仓库有如下两种方式:
        • github提供了API接口,可以使用程序在服务器创建仓库。
        • 使用ssh通信的,如果对方开放ssh用户权限,也可以使用ssh登录远程,像本地一样创建。(提示使用telnet也是可以的,不过telnet已经不推荐使用)
    • 说明:

      • 本文统一的服务器仓库为:http://*.*.*.*:3000/*****/ai.git
    1. 安装git客户端
      • 下载地址:https://www.git-scm.com/download
      • 向导式安装
    官网下载截图

    常见操作方式

    关联本地仓库到服务器仓库

    1. 关联到远程服务器仓库
    • 命令:git remote add aimodel http://*.*.*.*:3000/*****/yangqiang/ai.git
      • aimodel是本地关联名,可以代替服务器使用,而不是直接使用服务器参数。
    1. 查看已经关联的远程服务器仓库名
    • 命令:git remote -v
    1. 删除远程仓库的关联
      • 命令:git remote rm aimodel
    • 下面是操作截图:
    关联远程服务器仓库截图
    1. 关联到远程仓库并指定用户名与密码
    • 命令:git remote add aimodel http://yangqiang:yangqiang@*.*.*.*:3000/*****/ai.git

    本地提交管理

    1. 准备一个文件一个目录

      • 用来说明文件与目录的提交
    2. 创建本地仓库

      • 直接把当前目录作为仓库。
    • 命令:git init
    1. 添加文件与目录到仓库
    • 命令: git add .\*
    1. 提交文件与目录到仓库
    • 命令:git commit -m "文件目录提交" : 设置提交信息描述
    • 命令:git commit -a : 全部提交
    1. 查看更改状态
    • 命令:git status -s或者git status

    • 说明:

      • 可以修改一个文件,在看看装填。会使用默认编辑器打开变化的文件信息。
    • 操作截图

    提交文件到仓库的截图
    • 提交信息的显示,使用默认编辑器,记得提交的时候使用 -m 选项指定信息。
    提交信息的显示
    • 说明:
      • 关于git add:
        • git add -A 保存所有的修改
        • git add . 保存新的添加和修改,但是不包括删除
        • git add -u 保存修改和删除,但是不包括新建文件。

    同步仓库到服务器

    1. 同步前的准备:同步服务器的库到本地
      • 本地必须使用README.md文件,可以是使用命令从服务器拉取产生。
    • 命令:git pull --rebase aimodel master
    1. 提交前查看下,变更的文件是否正确提交,就是绿色状态、
    • 命令:git status
    1. 同步到服务器
    • 命令:git push --set-upstream aimodel master

    • 同步到服务器的截图

    同步到服务器
    • 同步到服务器的结果截图
    同步到服务器的效果
    • 建议:
      • 强烈建议本地的仓库与服务器仓库一致。

    克隆服务器仓库到本地

    1. 克隆仓库到本地,直接克隆即可,克隆的本身就是仓库。
      • 本地不需要再建仓库
    • 命令:git clone http://yangqiang:yangqiang@*.*.*.*:3000/*****/ai.git
    1. 从仓库克隆文件

    使用分支工作

    1. 创建分支
    • 命令:git branch master
    1. 查看分支
      • 前面带*的就是当前分支。
    • 命令: git branch
    1. 切换分支
    • 命令:git checkout 分支名
    1. 合并分支
      • 合并分支,首先要切换到主分支。然后再合并,然后同步到服务器。
    • 命令1:git checkout master

    • 命令2:git merge 分支名

    • 注意:

      • 分支建议交给组长合并,然后再提交到服务器。

    工作场景建议

    项目结构与设计

    1. 组长设计好项目结构,并创建仓库,并创建好目录。
      • 在仓库服务器上进行。

    组员的工作流程与操作

    1. 组员在本地创建一个仓库,并关联服务器仓库
    • 命令:git remote add aimodel http://yangqiang:yangqiang@*.*.*.*:3000/*****/ai.git
    1. 组员拉取服务器仓库内容
    • 命令:git pull --rebase aimodel master
    1. 组员创建分支工作
      • 并提交到服务器
    • 命令:git branch yangqiang:创建分支

    • 命令:git checkout yangqiang:切换分支

    • 命令:git add .:添加分支文件到本地仓库

    • 命令:git commit -a -m "提交说明":提交版本到本地分支

    • 命令:git push --set-upstream aimodel yangqiang:同步本地分支到服务器

    • 组员的操作截图

    组员常规操作截图

    组长的流程与操作

    1. 当代码确认没有问题后,告诉组长,组长进行分支合并
      • 组长首先拉取组员的分支到本地,然后进行合并操作;

      • 注意:组长必须clone,使用pull会存在一些问题。

    • 命名:git clone http://yangqiang:yangqiang@39.98.59.185:3000/yangqiang/ai.git:克隆服务器仓库到本地

    • 命令:git checkout -b yangqiang origin/yangqiang:建立与服务器分支一样的本地分支

      • b选项指定本地分支名
    • 命令:git checkout master:切换到主分支

    • 命令:git merge yangqiang:合并分支

    • 命令:git push --set-upstream origin master:同步合并的主分支到服务器仓库

    • 组长集成合并的操作截图

    分支操作截图

    问题:合并中存在的合并冲突

    • 在合并中,如果主分支也修改,其他分支也修改,会产生合并冲突,一般在合并的时候会产生一个把两个版本集成在一起的文件,需要用户自己修正的版本文件,修改后提交即可。下面是操作过程。

    问题模拟

    • 提示:分支与主分支修改同一个文件,因为分支的切换,看到的内容是不同的。
    1. 切换到分支,修改文件,提交
    • 分支操作截图
    分支操作截图
    1. 切换到主分支,修改文件,提交
      • 与上面操作一样,而且修改的是同一个文件,党切换分支的时候,同一个文件的内容是不同的,就是版本是不同的。
    • 主分支操作截图
    主分支操作截图

    合并操作

    1. 切换到主分支合并
    • 合并操作截图
    合并操作截图:提示冲突与处理办法

    冲突处理

    1. 合并冲突产生的合并文件
    合并文件
    1. 修改冲突文件
    修改后的冲突文件
    1. 提交并同步到服务器
    • 提交操作截图
    合并提交操作截图
    1. 查看服务器仓库的更新
    服务器的更新
    • 服务器内容更新截图
    服务器内容更新截图

    相关文章

      网友评论

          本文标题:T07:Git的使用

          本文链接:https://www.haomeiwen.com/subject/mklmuhtx.html