代码托管(二)git(2)使用

一、安装本地git服务

git不同于svn,使用git需要先在本地按照git服务。

1、安装git环境,自带shell命令操作

安装后鼠标右键会出现

表示安装成功 。右键选择Git Bash Here可以输入shell命令操作

2、shell命令使用方法,以github为例:

(1)在github上建立一个项目,比如我这里叫MyBlog

      

  项目页面,点击右侧可以看到这个项目的url为https://github.com/wtyy/MyBlog.git

 (2)克隆项目:本地新建一个目录,如我这里就叫Git,右键选择GitBash,输入

 git clone 跟上刚才的url

 (3)提交代码:如我本地新建一个txt文件,现在需要提交到github上。 先commit提交到本地缓存(类似于svn的add)

git commit -m "first"引号里面是对本次提交的说明信息。

 再push:

git push -u origin master

接下来会自动提示输入用户名和密码。回车后等上传完,再看一下github多了一个文件

二、代码托管可视化工具

(不推荐使用,推荐开发工具中的git)

 安装后鼠标右键会出现

tortoiseGit使用方法:

1、克隆代码:Git Clone

   点击后弹框

   

 URL为项目主干地址,如果需要下载分支,则勾选Branch,并在随后的输入框中输入分支名称即 可。点击OK,会弹框输入用户名密码,然后自动完成下载。

2、提交代码:git提交代码是首先提交(commit)到本地仓库(相当于svn的add),然后再推送(Push)到远程仓库。

 先点commit提交到本地缓存: 

确认已经提交到缓存的文件Sync:

 最后点push提交:

  如果想删除commit记录,TortoiseGit->Show log,选中日志右键Revert Change by this commit即可,

3、更新代码:pull

4、代码还原TortoiseGit -> Revert。不过有两种情况,如果该文件已经commit,会与上次commit的版本对比;如果该文件没有commit,会与远程仓库代码比对。

三、idea git:

dea自带git工具,不需要安装任何插件。

1、工程导入:
1.1、首次克隆:

 选择File->New->Project from Version Controll

点击后在弹出框中选择Git,并输入信息

点击Clone按钮后,等待idea下载代码,即完成克隆。

1.2、导入idea之前克隆的代码

   File-> New ->Project from Existing Sources

1.3、多工程管理

若是需要打开多个工程,先一个个克隆到本地,再选择

 从这里面import

2、分支切换
2.1、分支切换方法

ieda git自带分支切换功能,支持一键切换版本。克隆完成后,右下角会出现git版本信息(默认出现的是master主干),点开选择相应分支,鼠标右键点击CheckOut即可切换分支。

如我选择的feature-2.55 。

多个工程方法一样

2.2、更新分支

如仓库变更(新增)了分支,现在想切换到新变更的分支上,

点击这个获取分支的箭头获取最新的分支信息,再CheckOut到新分支上即可。

3、按钮介绍
(1)commit

 导入工程后右上角会出现git标志, 其中对钩表示commit。

也有的idea版本push按钮也在右上角

(2)其他按钮:

在项目(或者空白处)右击,选择Git,可以出来很多命令。

4、更新代码:

每次commit代码为防止冲突应该先更新代码。而更新代码为防止发生冲突、代码覆盖等问题,应按先隐藏本地变更-->更新代码-->释放本地变更-->解决冲突的顺序,详细更新代码步骤如下:

  (1)更新前,先隐藏本地变更,git Stash Changes

点击后会弹框输入日志,随便写一个

(2)更新代码:

这时再去拉代码,选中某个项目(在项目上右键),再点击git->pull。

 

(3)更新代码后,释放本地隐藏的变更

点击后也会有个提示弹框

(4)释放变更冲突解决:

释放后如果代码有冲突,会给你几种选择,视情况选择merger(合并),merger their(用仓库的变更覆盖自己的)、merger your(用自己的覆盖仓库的)。按需解决好提交,即解决了冲突。

5、提交代码:

  注意:每次提交代码前应该按照2的步骤先更新代码,更新后再进行下述提交操作:

 5.1、commit:提交到本地缓存

  点击右上角git 对钩,commit代码

    

     在弹出框中勾选需要commit的代码,输入日志,确认后点击commit

5.2、push:缓存提交到仓库

    在项目上右键,找到git -> push,确认信息后点击push即可。

 commit、push可以多个项目同时提交,也可以单个提交。如我点击对钩后会把所有工程本地的变更显示出来,需要提交哪些,勾选复选框即可。

 

5.3、push代码冲突解决:

push时git会自动检查本地代码是不是最新的,不是会强制更新,先触发更新再触发提交,而commit不会有这个校验。所以如果commit之前没有更新代码,push代码时发现本地不是最新代码:

(1)只是没有更新代码,而更新后没有冲突:push时会提示你是否merger,点击确定后,git会自动fetch-->push你的变更-->merger你本地没有更新的别人的变更;

(2)没有更新代码且更新后发生了冲突:push时会给你多种选择,视情况选择merger(合并),merger their(用仓库的变更覆盖自己的)、merger your(用自己的覆盖仓库的)。解决方法同更新代码释放本地变更后的冲突。

6、查看提交日志:

在项目上右键,选择git ->show history

7、还原本地改动:

选中项目中需要还原的文件,右键git ->Rollback

 或者点击commit查看本地变更时,也可以在需要还原的文件上右键选择Rollback

注意rollback是回滚本地的代码,不会回滚已经commit的。

8、cherry-pick

也是合并代码,但是可以针对commit维度来合并。cher-pick是本地操作。现在以master上cherry-pick部分代码到realse分支为例:先将本地chek out 到最新realse分支

8.1、获取最新master代码:

在master分支上右键选择update,获取最新的master代码

8.2、挑选目标commit

双击master,在弹出的页面中找到目标commit记录,支持按照提交人、日期搜索。如我搜索我提交的:

8.3、cherry-pick

一般按照时间顺序逐个cherry-pick。在最早的一个commit上右键,选择cherry-pick。

(1)如果没有冲突,会自动commit;

(2)如果有冲突,需要解决冲突并手动commit。

重复这样的步骤来cherry-pick其他commit,直到所有目标commit都cherry-pick了。

8.3、push

最后push到realse分支即可。

四、vscode git:

我是在当前项目下,打开新的命令窗口进行git操作的。

1、拉取新分支:git checkout 分支名称。注意执行这个命令需要本地代码是最新的且无变更;

2、更新代码:git pull;

五、git创建分支与合并代码:

开发工具也可以进行分支合并与创建,这里为了简洁直接从网页上操作。以码云为例:

1、创建分支:

进入分支目录,点击  新建分支 按钮,

在弹出框中输入新分支名称,点击确定即可一键创建分支:

2、合并分支到主干:

进入目标分支目录,点击Pull Request按钮:

跳转后的页面如下:这里在提交记录中还能检查变更

 输入相关信息后点击确认提交。这里提交后没有真正被合并,只是提交了一个请求,提交后跳转到审核页面,点击接受请求

点击后在弹出的选项中选择第一个merge

这时弹出一个确认框,点确定即可。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

w_t_y_y

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值