github多人协作、异地协作

it2026-01-11  6

远端项目保存在我的git hub上面的一个仓库中,对这个仓库执行多人协作、异地协作

克隆代码到本地

(1)下载远端项目至本地

右键打开Git Bash Here

(2) 输入命令 git clone https://github.com/xxxx(HTTPS) git clone git@github.com......(SSH)

注:只有在项目开始的时候使用git clone 下载项目

以后每天早上是在项目目录下通过git pull 来拉取最新的项目代码

早上刚来,你要做的事情abcd

先进入项目文件夹,在项目文件夹内右键点击Git Bash Here

a. 查看远程仓库 $ git remote -v 这样可以看到自己连接的仓库是否正确 Jianwei@DESKTOP-QSBBGQV MINGW64 ~/Desktop/grbl-1.1h.20190825 (edit_branch) $ git remote -v origin git@github.com:Jan0510/GRBL1.1_learning.git (fetch) origin git@github.com:Jan0510/GRBL1.1_learning.git (push) b. 拉取远程最新的代码 $ git pull (相当于fetch+merge) Jianwei@DESKTOP-QSBBGQV MINGW64 ~/Desktop/grbl-1.1h.20190825 (edit_branch) $ git pull origin main From github.com:Jan0510/GRBL1.1_learning * branch main -> FETCH_HEAD Updating dbcdb18..dc3657a Fast-forward

显示Fast-forward说明成功了,若是失败则提示non-fast-forward

c. 创建分支,分支名称自己定义(拉取最新的code后,习惯上要求再创建一个用来编辑的分支) $ git checkout -b edit_branch

d. 在刚创建分支edit_branch下开始做修改

下班前该提交你的项目了,需要做的事情efghijk

e. 确认当前分支是edit_branch,然后add+commit Jianwei@DESKTOP-QSBBGQV MINGW64 ~/Desktop/grbl-1.1h.20190825 (edit_branch) $ git branch * edit_branch main $ git add . $ git commit . -m "edit_done" f. 这时候切换到主分支 (切换分支之前一定要保证分支edit_branch下已经 完全commit, 否则无法切换,即使用git status查看一下,没有红的绿的就表示提交完成)

$ git checkout master (切换至master分支)

g.再次拉取远程最新代码(此时路径应在master下)

$ git pull

这里解释一下为什么要切换到主分支并且重新拉取代码

因为咱们多人协作,在你编写你的代码期间,别人可能已经上传、更新版了, 这时候项目的源代码或许已经改变,因此需要重新拉取。 重新拉取的代码会重新下载到你的项目目录中, 之前edit_branch分支改变的内容会保存在你电脑的缓存区。 h. 在你的主分支(master)下进行分支合并

$ git merge edit_branch

i: 那么刚才只是在本地合并分支,我们需要将本地合并后的主干master上传到远端的master

$ git push -u origin master

j: 这时候在远端查看一下,你的代码是否修改完成

k: 确认修改完成了 这时候删除你自己的分支 edit_branch

$ git branch -d edit_branch

强制删除命令($ git branch -D edit_branch)

Jianwei@DESKTOP-QSBBGQV MINGW64 ~/Desktop/grbl-1.1h.20190825 (edit_branch) $ git branch * edit_branch main Jianwei@DESKTOP-QSBBGQV MINGW64 ~/Desktop/grbl-1.1h.20190825 (edit_branch) $ git add . Jianwei@DESKTOP-QSBBGQV MINGW64 ~/Desktop/grbl-1.1h.20190825 (edit_branch) $ git commit . -m "edit_1" On branch edit_branch nothing to commit, working tree clean Jianwei@DESKTOP-QSBBGQV MINGW64 ~/Desktop/grbl-1.1h.20190825 (edit_branch) $ git checkout main Switched to branch 'main' Jianwei@DESKTOP-QSBBGQV MINGW64 ~/Desktop/grbl-1.1h.20190825 (main) $ git merge edit_branch Updating 555f1e3..dc3657a Fast-forward README.md | 1 + grbl-1.1h.20190825/grbl/config.h | 8 +- grbl-1.1h.20190825/grbl/coolant_control.c | 1 + grbl-1.1h.20190825/grbl/gcode.c | 31 +- grbl-1.1h.20190825/grbl/gcode.h | 10 +- grbl-1.1h.20190825/grbl/motion_control.c | 45 +-- grbl-1.1h.20190825/grbl/nuts_bolts.c | 7 +- grbl-1.1h.20190825/grbl/nuts_bolts.h | 2 +- grbl-1.1h.20190825/grbl/planner.c | 96 +++-- grbl-1.1h.20190825/grbl/planner.h | 14 +- grbl-1.1h.20190825/grbl/protocol.c | 67 ++-- grbl-1.1h.20190825/grbl/settings.h | 2 +- grbl-1.1h.20190825/grbl/spindle_control.c | 9 +- grbl-1.1h.20190825/grbl/spindle_control.h | 5 +- grbl-1.1h.20190825/grbl/stepper.c | 572 ++++++++++++++++++++---------- 15 files changed, 569 insertions(+), 301 deletions(-) Jianwei@DESKTOP-QSBBGQV MINGW64 ~/Desktop/grbl-1.1h.20190825 (main) $ git push -u origin main Everything up-to-date Branch 'main' set up to track remote branch 'main' from 'origin'. Jianwei@DESKTOP-QSBBGQV MINGW64 ~/Desktop/grbl-1.1h.20190825 (main) $ git branch -d edit_branch Deleted branch edit_branch (was dc3657a).
最新回复(0)