1. 从github上推送/拉取仓库
在git分支一章的介绍中,本地的仓库目前存在master主干和dev分支,将该仓库推送到github并从github如何拉取到本地该如何操作?
① 推送:
- 在github上创建一个公共仓库
GitGithubLearn,创建好仓库后会出现该仓库的链接:
- 使用
git remote add origin https://github.com/pshijie/GitGithubLearn.git给该远端仓库起一个别名origin,在之后的拉取操作中也会使用该别名,无需再次添加- 使用
git push origin master/dev将本地仓库的master/dev分支推送到GitGithubLearn仓库,推送完成后,在github可以查看到和本地一样的版本历史记录等信息:
② 拉取:
- 使用
git clone https://github.com/pshijie/GitGithubLearn.git将远程仓库拉取到本地当前文件夹中。拉取后使用git branch会发现该本地仓库只有master主干,没有dev分支,但是使用git checkout dev后还是会切换到dev分支的:
2. 协同开发
假设此时在家中电脑中已有项目
testGit(已经push到github中为GitGithubLearn),在公司电脑从github中也拉取了项目GitGithubLearn:先在家开发:
- 切换到
dev分支:使用git checkout dev- 进行代码开发:使用
touch a1.py并进行add和commit操作- 将
dev分支push到远程仓库:使用git push origin dev,此时进入远程仓库中发现只是在dev分支上发生了改变,master上并没有改变:
回到公司继续开发:
切换到
dev分支:使用git checkout dev更新家中写的代码:使用
git pull origin dev将远程仓库的dev分支代码拉取到本地的dev分支,此时项目中多了家中写的代码a1.py进行代码开发:使用
touch a2.py并进行add和commit操作将
dev分支push到远程仓库:使用git push origin dev,结果同上述类似等回到家中再重复以上步骤即可。项目开发完毕后,需要进行以下操作:
- 将本地
dev分支合并到本地master中:使用git checkeout dev和git merge dev完成合并- 再将本地
master合并到本地dev分支,确保这两个分支都是最新的代码- 将本地
master/dev推送到远程仓库的master/dev:使用git push origin master/dev
tips:
git push origin master:psj:其中master表示本地要上传代码的分支名称,psj表示要上传到远程的指定分支名称,如果远程仓库没有会自动创建git pull origin dev等同于git fetch origin dev和git merge origin/dev:
图中黄色部分表示本地和远程仓库的交互过程,
git fetch origin dev表示取origin仓库的dev分支到本地版本库。git merge origin/dev表示合并的是origin仓库的dev分支到本地工作区
3. 解决冲突
- 在家对
a1.py文件进行了修改,但是只进行了add和commit,并没有push到远程仓库- 去公司后也对
a1.py文件进行了修改,进行了add和commit,并且push到了远程仓库- 回到家中拉取远程仓库的代码,此时会出现冲突:
需要手动去解决冲突:
4. GitHub精确查找










2313

被折叠的 条评论
为什么被折叠?



