网站建设公司怎么挣钱,网站哪个好,建设网站工具,什么公司需要网站建设引言
本篇博客介绍将现有的本地分支以新的分支形式推送到远程库中#xff0c;和以新的分支的形式从远程库中拉取一个分支。这两个功能都是比较简单的操作#xff0c;但是在实际开发中#xff0c;可能会在开发初期有所触及。比如我们希望将远程的dev分支拉取到本地来进行开发…引言
本篇博客介绍将现有的本地分支以新的分支形式推送到远程库中和以新的分支的形式从远程库中拉取一个分支。这两个功能都是比较简单的操作但是在实际开发中可能会在开发初期有所触及。比如我们希望将远程的dev分支拉取到本地来进行开发或者将本地的dev分支推到远程库中去等等。
推送本地分支
在EGit中我们切换到一个已存在的分支或者新建一个新的分支
右键项目 TeamSwitch ToNew Branch此时我们已经切换到了新建的这个feature_push_new_branch分支上再次右键项目TeamPush Branch 当前分支名称...这里由于项目已经关联了一个远程库因此Destination选项栏中的信息已经自动创建完毕而Branch输入框就代表在远程库上显示的分支名称这里为了区分显示我特意手动修改了一下远程库中分支的名称加了一个“GitHub”点击Preview。在push确认信息提示框内我们可以确认我们的push分支信息可以看到[new branch]的标识代表是新的分支。点击Push。等待片刻后就会收到一个提示信息。最后检查一下远程库中的分支是否多了一个名为“feature_push_new_branch_GitHub”新分支。完美؏؏☝ᖗ乛◡乛ᖘ☝؏؏
拉取远程分支
有推送就有拉取。我们假设已经在远程库存在了dev分支在上图中我们也可以看到这个时候我们检查一下本地是否有dev分支
删除本地分支
在Git Repositories视图中我们可以看到本地全部的仓库信息找到对应的仓库BranchesLocal如图可以很清晰的看到我们的当前分支时feature_push_new_branch上且已经存在了dev分支实际上我就是用dev分支练习了将分支push到远程新分支的功能接下来我们先删除这个dev分支然后我们再尝试从GitHub上取下dev分支。
右键需要删除的分支Delete Branch 注意当前分支是无法删除的如果想删除当前分支请先切换到其他分支上去。删除结果如下可以看到dev分支已经被删除了。另外需要说明一下如果被删除的分支有一些还没有来得及合并的修改那么在删除的时候会弹出提示信息让你再一次确认要删除的分支。
修改checked-out远程分支
还是在Git Repositories视图中我们看到Remote Tracking中有一个名叫origin的远程库不用怀疑就是GitHub上对应的项目它的下面有一个dev分支如果没有请尝试F5刷新一下Remote Tracking文件夹这里显示的dev分支的缩略信息未必是实时的我尝试在远程dev分支上添加了一个readme文件但是在此处刷新是无法显示这个最新操作的但是通过checkout分支上右键Check Out依然可以拿到最新的提交信息。如下图checkout的结果请注意可以看到我们的当前分支已经从之前的feature_push_new_branch切换到了远程库的dev分支上。
但是如果此刻你直接修改checkout出的代码是无法被本地Git仓库追踪到的因为本地并没有对应的分支来追踪这些修改而且远程库也不会记录你此刻的任何修改即此刻的操作是无用的。
这点千万要注意建议小伙伴尝试一下直接修改checkout出的远程分支看看如果切换回了master分支上还能不能再重新找回刚才在checkout出的远程分支dev上的任何修改或者看看远程库上有没有任何变化被记录。
因此如果希望修改远程的分支必须修改本地分支然后再push不可以直接修改checkout出的远程分支。
但是如果你忘记了这点依然在checkout出的远程分支上做了一些修改并且已经commit了你切换到了master分支上准备合并这些修改突然你发现找不到了这些修改怎么办不知道小伙伴们是否还记得 git reflog指令没错reflog会记录下你的每次提交所以你可以去查看一下Git Reflog历史记录
必须在Git Repositories视图右键项目 Show In Git Reflog找到你刚刚做的修改的commit右键 Checkout 即检出了刚才的马虎修改拉取远程分支
那么如何将远程的分支拉取到本地的一个新的分支上呢
右键远程分支 Create Branch...完成新建分支向导点击Finish 结果如下可以看到我们已经将远程的dev分支下载拉取到了本地且已经checkout目前的工作区就是这个刚刚新建的与远程dev分支相关联的分支了可以放心大胆的在这个分支上修改提交Git仓库会一如既往地帮助我们跟踪它的变化。总结
本章介绍了如何将新分支push到远程库以及拉取远程的分支或者可以称为在本地建立一个与远程某个分支相关联的新分支。
另外还包括了一些其他的小操作如删除本地分支修改了刚刚checkout的远程分支的解决办法。
其实对于普通开发者而言拉取远程分支的操作可能会用得多一些推送新分支到远程这个操作可能会影响服务器Git管理的混乱因此一般都是由项目组长将新的分支push到远程去。
文章描述的过程尽可能详尽配图尽可能详尽并不是言简意赅的类型。
喜欢的朋友可以点赞分享如有疑问欢迎文末留言。
参考与感谢
《EGit/User Guide》