注册账号( 跳
创建新仓库
填写仓库信息
- 填写仓库名称
- 仓库描述
- Public — 公开的,下方私有选项需要付费
- Initialize this repository with a README — 同时创建项目自述文件
- Add .gitignore — 忽略文件夹或文件,不要进行版本控制
- Add a license — 许可证
生成仓库 获得地址 仓库说明
- 仓库地址 - 推送项目到这个地址
- 创建一个新的存储库,在新项目目录执行命令初始化 → 生成README.md → 提交一个版本 → 命名地址别名 → 通过别名推送此版本到地址
- 从命令行推送现有存储库,命名地址别名 → 通过别名推送此版本到地址
完成推送
-
git remote add mgd github.com/Maxuan11/MG…
-
git push -u mgd dev
第一次推送会要求登录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 和 版本描述