赞
踩
首先需要有一个远程仓库,下方使用gitee作为例子要是没有的话创建一个,要是不会的话就找别的文章学习一下!
好吧
首先登陆码云没有的自己创建账号
接下来点击新建仓库按钮
然后我这里就是随便创建一个用来演示用你具体根据自己的需求(记得要初始化仓库不然的话clone的时候会检测不到东西)
此外之所以选择了分支模型是为了之后clone的时候可以更好的展示source高级选项里面的分支分支选项
- 然后点击创建,然后基本你就成功了兄弟!
这里我有了一个自己的仓库如下
然后我复制对应的地址
一般来说选择HTTPS当然你要是想使用SSH不拦着,会弄就行
接下来我们打开Sourcetree点击从URL克隆
然后填写具体内容,这里是可以选择对应的分支的对应上面的
ok我们clone之后的仓库就是这样子的
现在我们已经clone到本地了,接下来我们打开对应的文件夹,也就是刚才你目标路径的地方
有两种方式
第一个就是你自己记得住具体的目标路径是哪里打开即可
第二种方法就是双击我们刚才已经clone的仓库然后会打开一个新的窗口
> 因为我用的是mac所以是在finder中显示具体win的话应该是文件夹或者什么的吧我没有尝试过
pull(拉取)
选项的勾选需要根据你的行为进行勾选一般来说默认即可
至于分支选项的话如果没有变更分支的情况理论上他会默认你正在选择的分支情况,或者当是第一次clone的时候会是第一次clone的分支选项
一般来说从仓库拉取的那个选项基本不用动除非你要从别的仓库中pull代码才需要做自定义操作
当你点击拉去的时候可以看到这种进度界面一般pull完成的时候会自动关闭的
push(推送)
首先我们需要先创建新的东西,因为仓库是新建的所以这里只能创建新的文件(这里只是教学具体工作中就要根据情况来进行操作了bro)
因为我正在写文档所以我直接创建了md文件在我对应的目标路径中,当我创建完的同时我们可以看到首先我的文件夹里面又了对应的文件(这里没有.git文件的原因是因为隐藏文件我没有显示)
以及我souretree中也检测到了对应的变化
接下来我在md文件中随便写了O,my old babay就会这样
文件造好了我们就可以提交代码了,这里介绍一下这个界面的工具分工
然后我们对想要提交的文件进行勾选为区别勾选和不勾选,我这里其实复制了一份文件到刚才的文件家中做区分这样观看更为明显
填写提交信息完毕之后我们就可以点击提交按钮了,提交完整之后我们会发现,我们提交按钮上面的角标依然是1因为是有一个未提交,而推送的角标也变成了1因为我们现在有一个文件呗commit,所以从而出现了一个没有被push的文件,这里要是不理解的话可以具体学习一下git,可以看一下官方文档全部读完基本就没啥太大问题了
同时我们也可以查看我们的git历史,如下图我们可以分析出来我们的这个文件已经被提交了从原来暂存区变成了回滚区
push(推送)
当我们commit(提交)完事就可以进行push推送了
点击确定按钮
然后会有一个进度条等待进度条结束
然后我们查看我们gitee上的仓库信息就可以发现我们的文件已经被提交了,记得要选对分支进行查看,因为刚才我提交的是develop分支,所以要查看develop分支
这里一个是16小时前一个是8分钟前一定要注意,一个是commit提交的时间,另一个是push推送的时间
工作中可能会有回滚到某个节点的操作
因为这个操作是后来增加到这个文档中的,所以可以进行之后操作之后有了多个节点再来回头进行着部分,当然你也可以自己创建多个节点.
首先我们应该有一个多个节点的分支,这里我的develop分支就是有多个节点的
然后我们选择一个历史的分支然后点击将develop分支重制到这次提交,当然你的分支可能和我的分支名字不一样这里不必纠结,不过记得要选对分支
然后会有一个弹窗以及一个单选框
软合并:
软合并就是将此次回滚到指定的节点,但会将你之前所在的节点修改过的文件暂存到暂存区块
混合合并:
混合合并是指将回滚到指定的节点,但不会将你之前所在的节点修改过的文件暂存到暂存区,而是将修改过的文件存放在未暂存文件区
强行合并:
强行合并是指将此次回滚到指定的节点,但将直接丢弃之前所在节点修改的所有文件,因此需要反复考虑清楚再做操作
根据你的情况进行选择,这里我选择的是混合合并然后点击确定,我们就可以在sourcetree中看到对应的变化,如下图这个节点我们可以检测到我们有新的节点可以拉取,以及对比现有的本地文件在文件状态中我们可以看到红色是之前的文件内容,而绿色的是现在修改本地的内容
因为在实际工作的情况下不可能一直使用一种分支进行开发,这是不现实的
首先我们点击分支按钮
接下来会出现一个弹窗
新分支: 就是你要你创建分支的名字这里需要你自己取名字
提交后有两个选项的单选框分别是:
工作副本父节点:这个就是你当前的节点,换句白话就是把你现在的所有正在工作的文件代码等等作为新的分支进行创建
指定的提交:当你点击到指定的提交的时候,点击挑选会有新的窗口
这里顾名思义就是你可以任意的选择曾经的git历史节点作为你新分支的第一个节点选择完毕点击确定即可
这里我挑选了正在操作的节点进行创建并且没有勾选检出新分支是为了之后切换分支进行操作
检出新分支:如果你勾选了的话那么你就会在创建分支之后马上切换到新的分支上
点击创建分支进度条结束后则会看到新的分支产生了,那个小圆圈的意思就是我们现在正处在的分支,因为我们刚才没有勾选检出新分支所以依旧在原来的分支上
这个时候我们查看码云,我们会发现这时候我们新创建的分支并没有推送到远程的云端,因为我们刚才只是在本地创建的新分支
接下来我们要选中test然后右键
然后会出现新的弹窗然后选择要推送的分支之后点击确定
这个时候我们重新刷新我们的码云网站查看远端,嗯新分支创建成功了
这里会发现test分支上面没有对应的小盾牌是因为你本地的分支在创建的时候是没有开启保护规则的这个时候你需要去gitee上面去创建对应的规则
这个地方但是具体就不做任何赘述了
当我们会有切换到其他分支的操作,如果你的本地已经有对应分支的话,比如说你刚刚在本地创建的分支,那么你只需要双击你想切换的分支就好了
首先我们需要先有其他分支在云端因为我们最开始创建项目的时候就创建了两个分支所以如图所示我们是有对应的分支的
我们需要选择检出对应的分支(checkout)
因为我本地没有的是master的分支,所以我要切换的是master分支
点击检出嗯会有一个进度条
检出结束之后我们可以看到本地里面又了对应的master分支
一般来说当我门但开发到已经阶段的时候会将开发模式的代码合并到测试分支,之后会将测试合并到生产,这样可以互不影响
合并分支首先我们需要有两个不同的分支,且内容不同,也就是要手动制造不同的分支状态
以下文字中
- 将此分支中代码合并到其他分支的分支称作合并分支
- 将其他分支中代码合并到此分支的分支称作被合并分支
以防大家依然理解不明白,直接模拟工作环境我们需要将dev分支合并到test分支上去
首先切换到develop分支,因为如果跟着我的文章进行操作的话,那么您现阶段的develop和test分支的远端代码应该是一样的
接下来我们将原本就创建好的副本文件进行提交,这里我选择了提交之后立即推送,就节省了之后需要推送的操作,记得勾选完点击提交
然后我们要修改原本已经提交完成的本地源文件,添加了一个单词change,并且修改了原有的行的文字
接下来再把这个修改过的文字提交会带sourcetree中我们可以看到我们的文件状态变化了
ok,提交依然是提交之后立即推送,记得勾选这里没有截图的原因是重复造作跟上面一样
下一步这里我们得到了两个不同的分支,且我们在同行进行了修改可能会创造出来代码冲突的情况,然后我们切换到test分支,首先我们要做的是先做一下拉取pull确保自己的本地代码是最新的,从而避免一会儿提交可能出现代码冲突的无意义问题
接下来我们在develop上面选择合并develop至test
点击之后会出现两个勾选项这里进行一下解释
立即提交合并的改动:
这里是说当你合并之后是否要进行commit,也就是你合并之后的文件是否直接将你合并的内容放到回滚区块,如果不勾选的话那么他将存在暂存区块中
包含被合并提交的信息内容:
这个的意思就是因为每次commit的时候都是需要填写提交信息的,这里合并的时候是否要将合并信息一同带过去,这里我们勾选了此项,一会儿我们看一下会有什么不一样
这里我们会看到合并的时候我们可以在历史上可以看到具体的两个次操作信息并且包含着描述
当我们点击推送的时候那么合并分支全流程操作也就结束了
这里我们是要分本地删除分支和远程删除分支的
本地删除分支(假定删除的分支为test分支)
首先我们先选去非test分支的其他分支,这里我选择的是develop分支
然后我们在test分支上选择删除test分支
点击之后会出现新的弹窗且出现两个勾选项(我这里都没进行勾选)
强制删除:
字面意思强制删除
删除远程分支:
如果勾选的话那么会造成你远程的分支也直接被删除了
点击确定之后等待进度条完结,我们就可以发现本地已经没有了对应的分支了
远端删除(这里也拟定删除的是test分支)
在想要删除的分支上选择删除
点击后会出现弹窗根据需求勾选是否强制删除,然后点击确定
等待进度条结束之后我们检查会发现在Sourcetree中的test分支没有了,同时登陆码云我们也可以看到码云上面的分支也没有了
一般来说我们在工作中有的一些文件是不需要被提交进去的比如.idea文件或者*.iws *.iml *.ipr等等其他的前段的比如build/文件夹
打开sourcetree偏好设置,win的话应该是设置
选择git然后点击编辑文件
然后对文件进行修改(直接复制粘贴即可,然后根据自己的需求进行客制化修改)
*~
.DS_Store
# Build Tools
.gradle
/build/
!gradle/wrapper/gradle-wrapper.jar
target/
!.mvn/wrapper/maven-wrapper.jar
### STS ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
### IntelliJ IDEA ###
.idea
*.iws
*.iml
*.ipr
### Java ###
*.class
### NetBeans ###
nbproject/private/
build/*
nbbuild/
dist/
nbdist/
.nb-gradle/
### VUE ###
node_modules/
/dist/
npm-debug.log*
yarn-debug.log*
yarn-error.log*
/test/unit/coverage/
/test/e2e/reports/
selenium-debug.log
# Editor directories and files
.vscode
*.suo
*.ntvs*
*.njsproj
*.sln
### Others ###
*.log
*.xml.versionsBackup
!*/build/*.java
!*/build/*.html
!*/build/*.xml
然后保存文件即可下方式保存之后的截图,具体内容是在上方代码块中
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。