主要介绍一些github的基本概念和常用命令
需要下载的包git,本次主要是在Linux环境下进行。
PR:pull request,就是我们常说的代码提交。
对于我们需要工作的项目,通常需要将项目fork到自己的github上,然后编写代码就可以在自己的代码区进行更改了。
1.对项目代码进行fork
2.点击自己的github仓库,使用HTTPs
# 将远程代码clone下来
cd workFolder #进入项目存放的位置
pwd
git clone https://github.com/<your github id>/........
3.设置Signed-Off-By,主要是对身份进行标记,后面commit进行签名(主要是后续代码出问题,找谁负责任,背锅的作用😂)
$ git config --global user.name "yourname"
$ git config --global user.email "youremail"
4.添加远程仓库
git remote add的作用是让本地仓库和远程仓库建立一个连接,让git知道远程仓库这个存在。
#orinin是别名,作为远程的仓库别名
$ git remote add origin https://github.com/<your github id>/..
#添加之后就可以使用命令查看
$ git remote -v
5.创建你的工作分支
首先你需要切换到你的主分支master或者main,然后拉出一个工作分支,用来单独完成某个功能。
#查看分支,*代表当前所处分支
$ git branch
# 切换到主分支
$ git checkout master
# 创建工作分支之前,可以更新下master,将最新的改动pull下来
$ git pull
# 创建新的分支,一定需要确认当前分支在主分支上,需要添加功能的分支
$ git checkout -b newBranchname
# -b的作用是创建分支并且切换到新分支
6.进行功能添加代码修改,完成修改后进行下一步。
7.提交代码
#查看上次提交之后的代码修改情况,主要检查是否改动了其他的代码。
$ git status
# 将改动的文件添加到暂存区
$ git add files #git add -A 添加所有改动文件
# 验证下提交的是否和你预期的一样
$ git diff --cached
# 紧接着就可以将代码提交到本地仓库
$ git commit -s #-s代表的是签名选项
#后面进入修改信息界面,或许可以直接使用 git commit -m "提交信息"
#将代码提交到远程仓库
$ git push origin newbranchname #origin 和 newbranchname分别为你的仓库分支名和工作分支名
# 后面提示需要输入账户和密码
#如果经常提交PR可以设置一个personal access token
如果是对之前的进行修改时,可以使用下面命令
git commit --amend 对之前的进行补充
git push -f origin newbranchname -f 强制push
8.创建PR
完成了上面的步骤,进入到你的github 浏览器中,会出现create pull reques,点击创建,选择需要修改的分支。
你可以修改相应的标题和内容,以及需要追踪的Tracked-On: #1000 的问题,最后检查code changed中修改代码是否正确。没有问题可以通过submit提交PR,后续就会有项目负责人审核你的代码,如果通过了就会将你的代码merge到主项目中。
到这里整个流程就结束了,你可以git checkout -b newissue ,创建新分支解决另一个问题。
还要没有提到的git rebase, git reset, git fetch, git cherry-pick,git branch -d后续在做笔记记录。
最后贴一张别的网站的图片,有助于理解暂存区和仓库之间的区别。