赞
踩
1.1 设置用户名&账户
全局参数,即所有本地 repo 的默认参数:
- git config --global user.name ""your_name" %全局repo用户名,尽量有意义
- git config --global user.email "your_email" %全局repo邮箱
局部参数,仅在当前 repo 有效,适用于公司项目放在Gitlab的情形
- git config user.name "your_name" %局部repo用户名
- git config user.email "your_email" %局部repo邮箱
补充:
- git config --global user.name % 查看全局用户名(两条横线)
- git config --global user.email % 查看全局邮箱(两条横线)
- git config user.name % 查看局部用户名
- git config user.email % 查看局部邮箱
-
- git config --list % 列出的是全局和局部参数,但使用时优先使用局部参数(两条横线)
1.2 SSH KEY
目的:下载(clone或pull)项目时,不需每次输入密码。
基本操作:本地生成密钥对 - 在Github上设置公钥 - 修改本地repo的remote为SSH地址
- % 本地生成密钥对
- $ ssh-keygen -t rsa -C youremail@example.com
C盘用户目录,找到 .ssh 目录,然后找到 id_rsa 和 id_rsa.pub 这两个文件,复制id_rsa.pub 文件内容
在 Github 上添加 SSH Key 公钥,将 id_rsa.pub 内容粘贴在 Key 一栏中,保存即可。
当尚未添加SSH KEY也并未输入过账户和密码时进行 pull 和 push 会发生什么?
输入密码后,Github账户中会新建一个针对当前设备的 Personal access tokens
2. 将remote添加为SSH地址
日常情形:本地项目首先出现,利用git进行版本管理一段时间后上传至Github。
2.1 Github新建repo
不赘述。
2.2 本地设置 remote 地址
- git remote add origin https://gitee.com/kingCould/HelloWord.git % origin 为远端账户名称,可以任意指定,https://gitee.com/kingCould/HelloWord.git为远端地址
- git remote -v % 列出所有remote地址(一条横线)
-
- git remote remove origin % 删除origin账户
-
- git push origin --delete test % 删除远端分支,test 是远端的Branch名称
- git push -f % 删除分支时可能需要force强推
2.3 首次 pull
git push -u origin master % origin需要与创建的远端仓库名称一致
2.4 日常 pull & push
- git pull origin master % master为分支名称
- git push origin master
2.5 本地已经进行了一部分提交,github并未创建repo时
首先github新建repo
然后强推:
- 首先:
- git pull origin master --allow-unrelated-histories % 允许两个不相关的分支进行合并,但这样一定会出现initial
-
- 然后,本地拉取上游initial然后reset hard至本地最后一次commit,接着:
- git push origin master -f
补充:
- git branch -a % 列出所有分支
-
- 如果提交时显示尚有未完成的merge,键入:
- git merge --continue
基本流程:fork - clone fork项目 - 新建分支 - 开发过程中时常对上游分支进行pull+rebase 本地 master - 开发完成push到fork项目 - pull request
3.1 fork 并 clone 项目到本地
- 在github上fork
- git clone https://github.com/lonelybag-clone/MATLAB_DEMO.git
3.1 设置 upstream 上游地址
- git remote add upstream git@github.com:lonelybag/dev-play.git % upstream 为远端名称,可以任意指定,git@github.com:lonelybag/dev-play.git为原作者项目地址
- git remote -v % 列出所有remote地址(一条横线)
3.2 对上游 upstream 的 master 分支进行 pull + rebase
lonelybag:VSCode_Git_操作(rebase+revert+reset)zhuanlan.zhihu.com基本步骤:git fetch upstream - git checkout master - git rebase upstream/master
3.3 Pull request
等待邮件即可。
基本步骤:克隆fork作者的项目到本地的新分支 - 解决冲突 - 将分支融合到自己的master - push到远端 - 此时PR将显示可以自动合并
参考
关于作者
目前电气工程硕士在读,平常喜欢琢磨有限元仿真、Matlab、Latex、三维建模等一切有趣的东西
一些成果会放在 Github 或者 知乎,也欢迎通过邮箱联系我 dongweihao514@sina.com
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。