zzy
GitHub项目协作

GitHub项目协作

目录

项目所有者

配置

1. 远程仓库

  1. 创建SSH Key:

    1
    ssh-keygen -t rsa -C "youremail@example.com"

    一路回车即可

    • id_rsa是私钥, 不能泄露.
    • id_rsa.pub是公钥, 可以告知他人.
  2. 查看SSH Key

    1
    2
    cd ~/.ssh
    cat id_rsa.pub

    也可在用户主文件夹下./.ssh目录查看

  3. 配置SSH Key

    Github的用户Setting选择New SSH Key, 起任意Title, 粘贴公钥.

2. 本地仓库

  1. 初始化仓库

    1
    git init

    目录下会生成名为的.git文件夹

  2. 将本地仓库和GitHub仓库关联

    1
    git remote add origin <仓库URL>

    origin为设置的别名

    项目url为: git@github.com:kyui-azusa/GITTEST.git

    • 修改origin
      1
      git remote set-url origin <新的URL>
    • 删除origin
      1
      git remote remove origin

使用

1. 提交版本(本地)

  1. 把待提交文件添加到操作区

    1
    git add <文件名/路径>

    可用 . 代表所有文件, 多个文件可用空格分割

  2. 提交修改

    1
    git commit -m <message>
    • -m 后的参数为本次提交的说明
    • 一次commit可多次add不同的文件

2. 提交本地代码到 GitHub

  1. 首次推送

    1
    git push -u origin master

    首次推送,需要使用”-u”参数来设置默认的上游分支为master

    我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令

  2. 简化

    1
    git push origin master

吐槽

狗屎 一直fatal 研究了好久发现就两个问题

  1. url输错了

  2. origin输成origin 又不稳定错

    气死我了气死我了气死我了气死我了气死我了气死我了气死我了气死我了气死我了气死我了气死我了气死我了气死我了气死我了气死我了气死我了气死我了气死我了气死我了气死我了

项目参与者

流程

1
2
3
4
5
6
7
8
graph LR
subgraph GitHub
A1["owner/repo"]
A2["my/repo"]
A1 --> A2
end
A2 --> B["local/repo"]
B --> A2

GitHub

配置

1. 连接 GITHUB

  1. 创建SSH Key:

    1
    ssh-keygen -t rsa -C "youremail@example.com"

    一路回车即可

    • id_rsa是私钥, 不能泄露.
    • id_rsa.pub是公钥, 可以告知他人.
  2. 查看SSH Key

    1
    2
    cd ~/.ssh
    cat id_rsa.pub

    也可在用户主文件夹下./.ssh目录查看

  3. 配置SSH Key

    Github的用户Setting选择New SSH Key, 起任意Title, 粘贴公钥.

2. 复制仓库

使用 Fork复制仓库

  1. 访问目标仓库 例如我的测试仓库

  2. 依次点击:

    1. Fork

    2. Create fork

    即可将仓库复制的你的仓库下 即 my/repo

3. 本地仓库

  1. 克隆 Fork 仓库到本地

    1
    git clone <仓库URL>

    注意: 在要创建本地仓库的目录下运行

  2. 将本地仓库和GitHub仓库关联(设置上游原始仓库)

    1
    git remote add origin <仓库URL>

    origin为设置的别名

    项目url为: git@github.com:kyui-azusa/GITTEST.git

    • 修改origin

      1
      git remote set-url origin <新的URL>
    • 删除origin

      1
      git remote remove origin

使用

1. 提交版本(本地)

  1. 把待提交文件添加到操作区

    1
    git add <文件名/路径>

    可用 . 代表所有文件, 多个文件可用空格分割

  2. 提交修改

    1
    git commit -m <message>
    • -m 后的参数为本次提交的说明
    • 一次commit可多次add不同的文件

2. 提交本地代码到 GitHub

  1. 首次推送

    1
    git push -u origin master

    首次推送,需要使用”-u”参数来设置默认的上游分支为master

    我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令

  2. 简化

    1
    git push origin master

3. 提交更改 Pull Request

将个人更改合并到原始仓库

  1. 访问自己同步后的仓库

  2. 提交更改(在 GitHub 上操作)

依次点击:

Contribute
Open pull request
或是

从菜单栏:

Pull requests
New pull request
最后 Create pull request 即可

同步原仓库更新到本地

1. 配置上游仓库(原始仓库)

  1. 进入本地仓库目录

  2. 添加上游仓库

    1
    git remote add upstream <上游仓库地址>

    <上游仓库地址>是原始仓库的地址

2. 同步上游仓库的更新

  1. 获取上游仓库更新

    1
    git fetch upstream

    从上游仓库获取最新的更新

    这些更新会被下载到你的本地仓库中,但不会自动合并到你的工作分支

  2. 合并上游仓库的更新

    • 切换到你想要更新的分支(通常是main或master)

      1
      git checkout <分支名>
    • 合并分支

      1
      git merge upstream/<分支名>

      <分支名>是要同步的上游仓库的分支名

      如果在合并过程中遇到冲突, 需要手动解决这些冲突, 然后提交合并结果

*3. 同步更新到 GitHub

  • 同**提交本地代码到 GitHub**的操作

git分支

1. 查看当前分支

1
git branch

2. 列出所有远程分支

1
git branch -r

同时列出本地和远程的分支:

1
git branch -a

3. 切换到已有分支

1
git checkout <分支名>

4. 创建并切换到新分支

1
git checkout -b <新分支名>
本文作者:zzy
本文链接:http://周梓煜.com/2025/01/11/git/GitHub项目协作/
版权声明:本文采用 CC BY-NC-SA 3.0 CN 协议进行许可