明确场景:
从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
将自己分支的这些文件重新上传,即可解决。
版权声明:本文为Scofield971031原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。