GitHub基础

307 阅读4分钟

注册账号( 跳

创建新仓库

填写仓库信息

  • 填写仓库名称
  • 仓库描述
  • Public — 公开的,下方私有选项需要付费
  • Initialize this repository with a README — 同时创建项目自述文件
  • Add .gitignore — 忽略文件夹或文件,不要进行版本控制
  • Add a license — 许可证

生成仓库 获得地址 仓库说明

  • 仓库地址 - 推送项目到这个地址
  • 创建一个新的存储库,在新项目目录执行命令初始化 → 生成README.md → 提交一个版本 → 命名地址别名 → 通过别名推送此版本到地址
  • 从命令行推送现有存储库,命名地址别名 → 通过别名推送此版本到地址

完成推送

第一次推送会要求登录github账号密码,完成登录即可,推送完成后刷新页面,项目已经上传到了仓库

如果是删掉仓库重建推送 会报错 — fatal: remote mgd already exists. 远程mgd已存在

执行 git remote rm mgd 移除原来的推送地址

拉取项目

在所在目录拉取项目代码,需要获取到仓库地址

然后在创建好的目录执行名命令拉取代码 → cd到目录 → 下载开发依赖

  • git clone github.com/Maxuan11/MG…

  • cd MGD — cd到目录大小写要一致,否则会警告发布项目会导致错误

  • npm install — 下载开发依赖

提交代码

如果是两地工作,完成一段的编写之后,避免忘记,一定要推送一次代码

  • git status — 查看状态
  • git add . — 添加到版本控制
  • git commit -m '版本描述' — 提交版本
  • git push mgd dev — 推送 dev 到 mgd 的 github 仓库

更新代码

当本地有一部分代码,拉取 github 内的最新版本时只需要更新就可以了

如果是两地工作,每次写代码前要先更新一次

  • git pull mgd dev — 把 github 上 mgd 的 dev 分支最新版本拉到本地

    git pull 命令是 git fetch 和 git merge 的合并命令

    git fetch mgd dev — 把 mgd 的 dev 分支拉取到本地版本库

    git merge mgd/dev — 把本地版本库中的 mgd/dev 代码合并到当前版本

另一个分支

如果本地只有dev分支,需要 master 分支版本,只需要创建那个分支即可,master 分支已经在 git 版本控制里面了

  • git branch — 查看分支
  • git branch master — 新增分支
  • git checkout master — 切换到 master 分支

开发完毕

开发完毕,测试完成后,

  • git checkout master — 切换到 master 分支
  • git merge dev — 将 dev 分支版本的代码拉取到 master
  • git add .
  • git commit -m '版本描述'
  • git push mgd master — 推送 master 到 github
  • git push mgd dev — 推送 dev 到 github

后续开发

回到家中,拉取最新代码,切换到 dev 分支,拉取最新 master 分支到 dev

  • git pull mgd master
  • git checkout dev
  • git merge master

git rebase 第三种应用

git rebase 可以合并提交记录使提交记录更简洁

第一种合并一个分支最新的几个版本为一个版本,第二种将一个分支合并到另一个分支,前两种没保存笔记丢了,可能会和 github 产生冲突,反正没啥用,懒得重写了

假如当天在公司写的代码只提交到本地版本库,忘记提交到 github 了,回到家中 git pull 发现没有取到最新代码,这时还想凭着记忆继续写余下的部分,第二天到公司再取到昨天提在家交到 github 的那部分合并,可以用到 rebase 来替代 pull,来避免产生新的版本

  • git fetch mgd dev — 把昨天在家 push 的部分代码,取到本地版本库
  • git rebase mgd/dev — 把本地版本库的 mgd dev 版本合并到当前版本

命令总结

  • 添加远程链接并命名为 origin

    git remote add origin 地址

  • 推送 dev 代码到 github 的 origin 项目

    git push origin dev

  • 下载整个项目代码到本地

    git clone 地址

  • 更新本地取到的 github 代码的 dev 分支到最新版本

    git pull origin dev

    这一句命令等价于

    git fetch origin dev — 把 github 的 dev 最新版本取到本地版本库

    git merge origin/dev — 把本地版本库的 origin/dev 版本合并到当前版本

  • 保持代码提交整洁 ( 变基 )

    git rebase -i 之前版本的hash — 就会把这个版本到当前最新版本之间的所有版本合并为一个版本

    git rebase -i HEAD~5 — 从当前开始向之前的总共5个版本合并为一个版本

  • 记录图形展示

    git log --graph — 完整图形信息展示

    git log --graph --pretty=format:'%h %s' — 只显示 hash 和 版本描述