git命令简单使用合集

简介: 笔记
git命令使用

git branch dev 创建一个名称为dev的分支

git checkout dev切换到dev分支上

git checkout -b dev 从当前分支上创建出一个新分支dev

git merge dev 假设当前为master分支,执行这条命令后会将dev分支合并到当前master分支,合并完成后,master分支和dev分支会变成同一个分支

git:(dev) git rebase master 假设当前为dev分支,git rebase master命令会将当dev的更改进行回退,回退到与main分支交汇的地方,将这些更改暂存到rebase目录,然后将master上面的提交拿过来,让dev分支更新到master分支那样,然后再把之前暂存的更改应用上,中间如果出现冲突,需要解决冲突,解决完冲突后,使用git add 将更新添加上,然后使用git rebase --continue继续合并。如果中间需要中断合并那么可以使用git rebase —abort。

在rebase完成后,我们dev分支已经是最新了,但是master上还是老的代码,我们需要使用git checkout master 切换到master分支上,然后使用git rebase dev将dev上面的更改移动到master上来,然后push到远程。

19.png

git checkout HEAD^ 将当前head指向上1次提交

git checkout HEAD~3 将当前head指向上3次提交

git reset HEAD~1 回滚到上一次提交

git reset HEAD 生成一个新的提交,用于将上一个提交的更改撤销掉,等价于git reset HEAD~1

git cherry-pick C3 C4 C7将其他分支上的C3提交,C4提交,C7提交拿到这个分支上面来

git rebase -i HEAD~3 合并最近的两次提交为一次提交记录,执行这个命令后会进入vim界面,然后会出现3次提交的记录

pick 115e825 queryCreditsMonth
pick 4cedfe6 queryCreditsMonth
pick b3dccfd nickname

有一下操作符: pick:保留该commit(缩写:p) reword:保留该commit,但我需要修改该commit的注释(缩写:r) edit:保留该commit, 但我要停下来修改该提交(不仅仅修改注释)(缩写:e) squash:将该commit和前一个commit合并(缩写:s) fixup:将该commit和前一个commit合并,但我不要保留该提交的注释信息(缩写:f) exec:执行shell命令(缩写:x) drop:我要丢弃该commit(缩写:d)

咱们如果要把三次提交合并成一个就改成这样

pick 115e825 queryCreditsMonth
s 4cedfe6 queryCreditsMonth
s b3dccfd nickname

然后保存退出,然后会进入填写commit说明的地方,我们直接保存就好了,这样就完成了,会生成一个新的commit

commit b3dccfd2c2173fa0a6358de604b6541c8c6c644a (HEAD -> feature-dev)
Date:   Fri May 7 16:29:22 2021 +0800
    nickname
    nickname
    change credits

git commit -amend可以修改最后一次提交的commit说明

rebase出现了冲突怎么办?

假设master上跟我们改了同一行,其实就会造成冲突 例如下面这个就是我们需要解决的冲突,<<<<< HEAD 到====== 之间为其他分支上别人的更改,======到>>>>>>> change credits之间为我们自己在dev分支上的更改,我们需要解决冲突,然后使用git add对文件进行提交

@Override
    public List<CreditsMonthsUser> creditsMonthsQuery(Integer months, long year) {
<<<<<<< HEAD
        List<CreditsMonthsUser> creditsMonth = creditsMonthsMapper.creditsMonthsQuery(months, year);
        for(CreditsMonthsUser creditsMonthsUser : creditsMonth){
            String nickname = WechatUtil.decodeNickName(creditsMonthsUser.getNickname());
            creditsMonthsUser.setNickname(nickname);
        }
        return creditsMonth;
=======
        Integer a = 100;
        return creditsMonthsMapper.creditsMonthsQuery(months, year);
>>>>>>> change credits
    }
日常开发流程应该是怎么样的呢?
  1. git fetch origin dev 拉取远程的dev分支到本地,本地也会创建出dev分支

2.git checkout -b feature-dev 我们自己从dev分支创建出一个feature-dev分支,用于我们自己开发

3.我们自己在feature-dev开发了一些功能后,进行提交时,可能其他人往dev分支上提交了更新,我们需要将更新拿到本地

4.

git checkout dev 切到dev分支 git pull origin dev 将其他人在远程dev上的提交拉到本地

5.

git checkout feature-dev

git rebase dev 将dev上的更改应用到我们的feature-dev分支

然后可能会出现冲突,我们对冲突进行合并,

然后对修改后的文件使用git add +文件名 进行添加,

添加完成后使用git rebase --continue就可以继续,然后合并完成(如果需要中断rebase操作可以使用git rebase --abort)

6.git checkout feature-dev

git rebase feature-dev 就可以把feature-dev上合并好的更改拿到dev分支上

  1. git push origin dev 就可以将dev分支上的更改提交到远程
相关文章
|
3月前
|
存储 开发工具 git
|
17天前
|
缓存 Java Shell
[Git]入门及其常用命令
本文介绍了 Git 的基本概念和常用命令,包括配置、分支管理、日志查看、版本回退等。特别讲解了如何部分拉取代码、暂存代码、删除日志等特殊需求的操作。通过实例和图解,帮助读者更好地理解和使用 Git。文章强调了 Git 的细节和注意事项,适合初学者和有一定基础的开发者参考。
38 1
[Git]入门及其常用命令
|
3月前
|
开发工具 git
【GIT 第二篇章】GIT常用命令
Git常用命令涵盖初始化、状态管理、提交、分支处理、远程操作等关键流程。`git init`启动本地仓库,`git clone`下载远程仓库。通过`git status`和`git diff`检查工作状态与差异。利用`git add`暂存文件,`git commit`保存更改。借助`git branch`、`git checkout`、`git merge`和`git rebase`管理分支。使用`git fetch`、`git pull`和`git push`同步远程仓库。通过`git reset`、`git revert`和`git checkout`实现版本回退。
68 0
|
1月前
|
开发工具 git
git学习四:常用命令总结,包括创建基本命令,分支操作,合并命令,压缩命令,回溯历史命令,拉取命令
这篇文章是关于Git常用命令的总结,包括初始化配置、基本提交、分支操作、合并、压缩历史、推送和拉取远程仓库等操作的详细说明。
112 1
git学习四:常用命令总结,包括创建基本命令,分支操作,合并命令,压缩命令,回溯历史命令,拉取命令
|
21天前
|
开发工具 git 开发者
|
21天前
|
开发工具 git 开发者
提升Git效率:掌握这5个高级命令
【10月更文挑战第17天】
41 0
|
2月前
|
存储 Linux 开发工具
掌握 Git 命令:每个开发者的必备技能
无论团队项目还是个人开发,掌握 Git 命令都是必备技能。本文介绍 Git 的基本概念与命令,如初始化仓库 (`git init`)、添加文件 (`git add`)、提交更改 (`git commit`)、检出分支 (`git checkout`)、合并分支 (`git merge`) 等,还分享了高级技巧如查看差异 (`git diff`)、撤销提交 (`git revert`)、修复合并冲突 (`git mergetool`) 和使用别名简化命令 (`git config --global alias.ci commit`)。
|
2月前
|
机器学习/深度学习 Shell 开发工具
Python使用管道执行git命令报错|4-7
Python使用管道执行git命令报错|4-7
|
2月前
|
存储 Linux 开发工具
Git基础命令,分支,标签的使用【快速入门Git】
本文详细介绍了Git版本控制系统的基础概念和常用命令,包括工作区、暂存区和版本库的区别,文件状态的变化,以及如何进行文件的添加、提交、查看状态、重命名、删除、查看提交历史、远程仓库操作和分支管理,还涉及了Git标签的创建和删除,旨在帮助读者快速入门Git。
Git基础命令,分支,标签的使用【快速入门Git】
|
2月前
|
存储 Linux 开发工具
掌握 Git 命令:每个开发者的必备技能
本文介绍 Git 的核心概念,如仓库、提交、分支与合并,并提供了常用命令,如初始化仓库 (`git init`)、提交更改 (`git commit -m &quot;Commit message&quot;`)、拉取 (`git pull`) 和推送 (`git push`) 等。此外,还分享了高级技巧,如撤销提交 (`git revert &lt;commit&gt;`)、交互式暂存 (`git add -i`) 和使用别名简化命令 (`git config --global alias.ci commit`) 等,帮助开发者提升效率。无论是初学者还是资深开发者,都能从中受益。