明确场景:
从github上clone别人的仓库到本地[git clone]
,并在本地进行修改,将修改后的项目文件更新到github上的仓库[git push]
。
具体步骤
- 本地创建一个文件夹,表示我需要将仓库clone到此文件夹下。
cd到该文件夹后使用git clone https://github.com/Scofield666/TestGitOnMac.git
结果如下,此时仓库已被克隆到本地,是一个完整的文件夹
- 进入该仓库文件夹,进行修改。修改后顺序执行:
git add \*
:将当前本地文件夹下的所有代码加入到本地仓库中(use “git add …” to update what will be committed)
git commit -m "备注:这是一个更新"
:将当前的修改提交到仓库中
在执行commit前可以使用git status
查看当前git的状态
最后执行git push
将修改提交到github上的仓库,使其同步
在github上刷新就可以看到修改了
明确场景
将本地的文件夹上传到github上。
具体步骤
- 进入该文件夹,创建一个本地仓库。
git init
- 可以输
git status
查看本地文件情况。然后git add .
将目录下所有文件加入到本地仓库中。 git commit -m "upload"
- 和远程仓库链接,远程仓库名称默认为origin。这边要注意配置了ssh key之后,后面得使用ssh仓库地址而不是https地址。
git remote add origin git@github.com:Scofield666/GNN_papers.git
git push -u origin master
明确场景:
多人协作一个项目, 每人都拥有自己的分支,希望在本地管理多个分支,包括他人的以及自己的。
具体步骤
若要新建自己分支,并在默认分支上修改代码,提交到库中,则遵循以下步骤:
- 本地新建一个项目文件夹,然后
git clone [xxx.git]
,如果不指定分支则clone的是默认分支。如果「一开始」就想要在别人的分支上进行修改,直接git clone -b [xxx.git]
。 - 若要开始修改,首先新建一个自己的分支,
git branch xjc_test
;切换到该分支上,git checkout xjc_test
。 - 然后开始修改代码,修改完了之后执行以下步骤:
git add .
修改加入到库中git status
查看变更状态git commit -m "update"
- 因为没有对应的上游分支,所以得
git push --set-upstream origin xjc_test
;如果上游分支存在的话,直接git push
即可
若同时还要管理其他分支,则遵循以下步骤:
- 拉取远程分支到本地,
git fetch origin [远程分支名]
,使用git fetch
可以将远程分支拉取到本地,并在本地新建一个与远程分支名字一样的本地分支。之后若要同步该分支到本地,git pull origin [远程分支名]
即可 - 切换到该分支
git checkout [远程分支名]
。你会发现同一个文件夹随着分支的切换文件内容也会发生变化,如此就能进行同时管理多个分支。
若需要将其他分支的某些「多余的文件」同步到自己的分支,则遵循以下步骤:
- 首先切换到目标分支,即自己的分支
git checkout xjc
, 然后合并其他分支到当前分支git merge [其他分支]
. - 如果存在
merge
冲突(即某些文件同一位置两个分支代码不同),可以通过git add.
+git commit
+git push
将自己分支的这些文件重新上传,即可解决。