如图,最好选择 ssh

然后选择一个文件夹,通过 git clone [复制的链接] 将项目下载到本地(前提是已经装了 git,linux、mac 直接终端,Windows 用 git shell 或 git Desktop)

先看下仓库下有什么,然后开始配置

查看所有分支, git branch -a

查看所有远程仓库, git remote -v

添加一个上游分支,指向原项目,即 git@github.com:josonle/Leetcode-solution-for-us.git
git remote add upstream git@github.com:josonle/Leetcode-solution-for-us.git
再次查看远程仓库,多了一个

先抓取上游分支的更新到本地, git fetch upstream ,upstream 是上面新建上游分支名
如下图,并且多了一个分支,本地分支 master,两个远程分支其中一个是源项目的

合并原项目的远程分支,然后 push 到自己 fork 的项目上去
git merge upstream/master

git push origin master

本地仓库里和网页上查看都更新了原项目的内容,如图

点击 compare

选择从原项目的 master 分支同步到 fork 项目(这里是 another-Lee/xxx)的 master 分支



其实上面的内容就是 fetch 原项目的更新内容,并对 fork 项目 pull request,操作如下图



然后再 Confirm merge,即可。如图,更新已同步

这里我们在 another-Lee 的本地仓库新建一个文件夹 Topic2-add-two-numbers , 强调必须以【 Topic+题号+英文题名 】命名 ,里面随便放点啥,比如 from-anotherLee-add-two-numbers.java 。 再次强调,提交文件以【 from-<github 昵称>-题名.java 】命名,如果是 C++就用 cpp 结尾

先提交并推送到自己仓库去
$ git add .
$ git commit -m"from another-Lee:添加 addTwoNumbers"
$ git push origin master
强调,提交信息,必须是 from <github 昵称>:xxx 格式
网页上打开查看,如图是我们刚刚推送的更新

然后重点来了,向原项目 pull request

然后创建 pr

注意分支信息要设置的没问题,然后填写提交信息,标题最好不要修改(默认是 commit 信息)

然后 pull request 就结束了,后续就是我负责审核代码,并 merge 到原项目中去,fork 的项目也无法修改 pr 内容
到此就结束了,以下是介绍 Master 如何审核代码,处理 pr
打开项目,可以发现 pr 有提示,然后我们可以查看更改的文件,给出审核结果

如图审核结果有三种:
通过后,合并 pr,如图点击 Merge pull request,然后 confirm merge

最后,就这样了,项目中也多了 another-Lee 的 pr 过来的代码


git config --global --list 显示全局配置信息,一般是提交用户的用户名和邮箱
# 可通过如下设置
git config --global user.name "username"
git config --global user.email "test@qq.com"
git config --local --list 显示当前仓库配置信息
git config --system --list 显示系统配置信息
在 ssh-keygen 生成公私钥时通过 -f 参数指定生成文件的名称
清除全局 git 配置信息,就是 user.name 和 user.email 哪些,因为一个全局的配置只能为一个账号服务,两个账号验证时会冲突
git config --global --unset user.name
git config --global --unset user.email
在本地仓库里配置新的 name 和 email,不同账号区别开
git config user.name "xxx"
git config user.email "xxx@qq.com"
配置不同 ssh-key( -f 可以指定生成文件名),并在 /.ssh 下新建 config 文件,内容参考如下
Host git@github.com #随便取和下面区别即可
HostName github.com
User josonlee
IdentityFile ~/.ssh/id_rsa_github #指定验证文件
Host anothergithub.com
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa_another
验证:

git remote rm origin #清空原有的
git remote add origin git@anothergithub.com:another-Lee/Leetcode-solution-for-us.git #举例第二个账号,网页上 git clone 处链接是`git@github.com:another-Lee/Leetcode-solution-for-us.git`,只是把 git@github.com 改成了 git@anothergithub.com(config 文件中指定的)
随便修改下啥然后提交 git push origin master

