Git(武佩奇版)--实战3

158 阅读3分钟

github--仓库

git和github

  • 首先git和github之间是没有实质关系的
    • git是分布式版本控制软件
    • github是仓库(保存代码数据以及版本的)
  • 共通点就是使用git可以将本地和云端的数据以及版本进行联结,便于管理本地和远程的代码

使用github仓库

  • 注册账号
  • 创建仓库(存放数据代码)
  • 将远程和本地关联(上传和下载)

github--使用

创建新仓库

  • image.png
  • image.png
  • image.png

将本地的仓库推送到远端

git remote add origin 远程仓库地址
git push -u origin master
  • image.png

  • image.png

  • image.png

  • image.png

将远程仓库代码克隆到本地

git clone 远程仓库地址
(内部已经实现了git remote add origin 远程仓库地址)
  • image.png

编辑代码

  • 在本地的dev分支开始工作前一定要保证和master分支的代码一致
    • git merge master
  • git push -u origin master
    • 就是指定提交master的代码到远程的origin地址
    • 还可以简写为git push
    • 但是不建议这么写,推荐写法 git push origin dev
      • 将指定分支推送到远程中

将远程仓库代码进行下拉更新本地代码

git checkout dev
git pull origin dev

image.png

远程本地的代码开发流程

公司(项目初建)

创建项目文件夹
Git init
Git add xxxx
Git commit -m "xxx"
Git branch dev
远程搭建仓库
Git remote add origin 仓库地址
Git push origin master
Git push origin dev

家庭

Git clone 仓库地址
Git checkout dev
编辑代码
Git add xxx
Git commit -m "xxx"
Git push origin dev

公司(多次开发)

Git checkout dev
Git pull origin dev
编辑代码
Git add xxx
Git commit -m "xxx"
Git push origin dev

家庭(多次开发)

Git checkout dev
Git pull origin dev
编辑代码
Git add xxx
Git commit -m "xxx"
Git push origin dev

公司项目上线

Git checkout dev
Git pull origin dev
编辑代码
Git add xxx
Git commit -m "xxx"
Git push origin dev
Git checkout master
Git merge dev
Git push origin master

家庭代码更新

Git checkout dev
Git pull origin dev
Git checkout master
Git pull origin master
  • 注意一旦代码出现不一致,一定要记得merge

特殊情况

  • 公司家里各开发50%,其中公司的代码提交远程了,但是家里的已经写了,只是提交到了本地,这时直接拉公司的代码,两分代码之间就会进行合并,合并中若有相同改动,则会发生冲突,没有冲突的文件自动过关(并不是覆盖,和想像的不太一样)
  • image.png
  • git pull origin dev === git fetch origin dev + git merge origin/dev
    • 首先在git fetch origin dev首先先将远程的代码下载到本地的版本库中
    • 然后在通过像本地两个分支一样进行merge操作最终将两份代码合并
    • origin/dev使用origin的目的就是表示远程的分支,与本地的进行区分(也不能是本地的,本地的dev和本地的dev合并没有意义,所以标识为了,将远程的dev分支合并到本地的dev分支中)
      • 这也就解释了为什么我们在pull之前为啥要先切换到那个对应分支,在master中pull dev远程分支,会出现混乱的问题

图总结

image.png