git常用的命令集

目录

1.下拉远端代码:

     远端分支操作:

     下拉远端资源:

2.同步远端最新分支

     方法1:fetch + rebase(推荐)

     方法2:fetch

     方法3:pull

3. 本地分支创建切换

4.查看代码变动

5.临时保存本地修改

6.将工作区代码保存至暂存区

7.提交暂存区内容至本地分支

8.查看代码提交记录

9.回退代码至某已提交节点

10.将指定提交应用到当前本地分支

11.推送代码

12.场景示例:

      场景1: 修改commit4的提交签名

      场景2: 将commit5合并到commit3中


1.下拉远端代码:

     远端分支操作:

       git remote                                                       #查看远端分支
       git remote -v                                                   #查看远端分支详细信息
       git remote add <远端分支名> <https链接>    #增加远端分支,远端分支名可自定义通常定义为origin

     下拉远端资源:

       git clone <https链接>                               #克隆默认分支
       git clone -b <分支名> <https链接>           #克隆指定分支
       git checkout -b release1 origin/release    #本地依赖远端release分支创建本地release1分支

2.同步远端最新分支

     方法1:fetch + rebase(推荐)

        git fetch origin release                   #这个命令会从远程仓库 origin 中获取名为 release 的分支的最新提交,但不会将其合并到本地分支。它只会更新远程分支的引用,使得您可以查看远程分支的最新状态
        git rebase -i origin/master              #fetch之后需要rebase命令将这些更新合并到当前分支。例如:以origin/master为基准比较同步当前未提交远端的修改,解决完冲突git add 需要 git rebase --continue

     方法2:fetch

        git fetch origin release:release1        #这个命令会从远程仓库 origin 中获取名为 release 的分支的最新提交,并将其合并到本地的 release1 分支

     方法3:pull

        git pull --rebase                        #这个命令以远端为基准合并当前修改,rebase如果有冲突解决冲突add后需要git rebase --continue
        git pull origin master:master1           #将远端master分支直接应用到本地master1分支
        注:在执行 git pull 命令时,Git 会自动执行 git fetch 操作,以获取远程仓库的最新提交。因此,您不需要显式地执行 git fetch 命令来限制性地获取更新。

3. 本地分支创建切换

        git branch                                              #查看当前本地分支
        git branch <branchname>                     #创建本地新分支

        git branch -D <branchname>                #删除本地分支

        git checkout <branchname>                 #切换当前分到目标分支
        git checkout -b <branchname>             #切换当前分支到目标分支,如果目标分支不存在则自动创建
        git checkout -b release origin/release   #切换当前分支到release分支,如果不存在依赖远端release分支创建当前分支

4.查看代码变动

        git status                          #查看未提交文件的变动
        git diff                            #查看未提交文件详细变动
        git diff commitId1 commitId3        #查看两个已提交的commit详细变动
        git diff >> ~/patch.diff            #生成patch补丁文件
        git apply                           #命令用于将补丁文件应用到当前工作目录或暂存区中,补丁文件可以是以 .patch 或 .diff 结尾的文件,其中包含了要应用的更改内容
        git diff <branch1> <branch2>        #比较2个分支代码
        git show                            #查看最新提交的commit变动
        git show commitId1                  #查看指定提交的commit变动
        git show --stat                     #查看commit文件修改列表

5.临时保存本地修改

        git stash                     // 保存当前工作目录的临时状态
        git stash save "描述信息"     // 保存当前工作目录的临时状态,并添加描述信息:
        git stash list                // 查看已保存的 stash 列表
        git stash apply               // 应用最新的 stash
        git stash apply <stash_id>    // 应用指定的 stash
        git stash drop                // 删除最新的 stash
        git stash drop <stash_id>     // 删除指定的 stash
        git stash pop                 // 应用最新的 stash 并且 从stash 列表中删除最新的 stash

6.将工作区代码保存至暂存区

        git add .                                                          #保存所有变动
        git add -A                                                        #保存所有变动
        git add <filename1>  <filename2>                  #保存指定文件变动
        git add <folder1>  <folder2>                           #保存指定目录变动
        git restore <file>                                              #取消当前文件修改

7.提交暂存区内容至本地分支


        git commit -sm "msc"            #提交至当前分支版本库,带签名
        git commit --signoff               #提交至当前分支版本库,可添加MSC信息、账户邮箱,ISSUE信息
        git commit --amend              #提交至当前分支,可以沿用前面的提交信息(一般二次提交选用或查看提交明细选用)可修改
        git commit --amend --no-edit    #提交至当前分支,默认沿用前一次提交信息不做修改
        git mv --cached <file> <file1>   #命令用于重命名或移动文件,并将这个操作记录到 Git 的暂存区(Index)中,--cached不修改工作区
        git rm --cached  <file1>             #命令用于从 Git 的暂存区(Index)中移除指定的文件,而不会删除工作目录中的实际文件,--cached不修改工作区

8.查看代码提交记录

        git log                              #查看全部提交日志
        git log --stat                     #查看全部提交的文件修改列表日志
        git log <commit> --stat    #查看指定提交前的文件修改列表日志
        git reflog                          #引用日志记录了本地仓库中的引用(如分支、标签等)的变动历史,包括创建、删除、重命名等操作
        git show                           #查看最新commit文件修改内容
        git show --stat                  #查看最新commit文件修改列表
        git show <commit> --stat  #查看指定commit文件修改列表  

9.回退代码至某已提交节点

        git reset --hard origin/master    #回退到远端master分支的最新commit提交,放弃当前工作区修改
        git reset HEAD~1                  #撤销最近的一次提交,并将更改保留在工作区中。这将移动当前分支的指针到上一个提交,并取消暂存区的更改
        git reset --hard HEAD~1           #撤销最近的一次提交,并丢弃工作区和暂存区的所有更改。这将移动当前分支的指针到上一个提交,并重置工作区和暂存区为该提交的状态
        git reset <commit>                #将当前分支的指针移动到指定的提交,并保留更改在工作区中。这可以用于撤销多个提交或将分支指向不同的提交
        git reset 或 git reset HEAD       #取消暂存区的所有更改,但保留工作区中的更改。这可以用于将文件从暂存区移回工作区,以便重新编辑或排除文件。
        注:--hard 丢弃工作区修改

10.将指定提交应用到当前本地分支

        git cherry-pick <commit>          #用于选择性地将指定的提交应用到当前分支上
        git cherry-pick --continue        #这个命令将告诉Git继续应用之前被中断的cherry-pick操作,并继续处理下一个提交
        git cherry-pick --abort           #这个命令将告诉Git取消当前正在进行的cherry-pick操作,并将您的代码库恢复到操作之前的状态
        git cherry-pick --skip            #这个命令将告诉Git跳过当前正在进行的cherry-pick操作,并继续进行下一个提交的cherry-pick。它会将当前提交标记为已处理,但不会将其应用到当前分支

11.推送代码

        git push origen master1:master      #从本地master1分支推到远端origen的master分支
        git push -f origen master1:master   #从本地master1分支推到远端origen的master分支(强制)
        git push -f origen HEAD:master      #从本地当前分支推到远端origen的master分支(强制)

        git branch --set-upstream-to=<remote>/<branch> master1        #关联master1到远端分支

12.场景示例:

        commit5 9b***********************************bc1 (HEAD -> master1)
        commit4 9b***********************************bc2 (origin/master)
        commit3 9b***********************************bc3
        commit2 9b***********************************bc4
        commit1 9b***********************************bc5

      场景1: 修改commit4的提交签名

        git rebase -i commit3              // 回到commit4操作位置 
        git commit -s --amend              // 增加签名
        git rebase --continue              // 继续执行continue

      场景2: 将commit5合并到commit3中

        git reset commit5                  // 撤销commit5,保留工作区
        git stash                          // 保存临时修改
        git rebase -i commit2      // 回到commit3操作位置 支持edit编辑 、s合并(相邻2条提交)、drop删除操作
        git stash pop                      // 应用临时保存并删除保存记录
        git add .                          // commit1提交至缓冲区
        git commit --amend --no-edit       // commit1提交至commit3上
        git rebase --continue              // 继续执行continue
        git push -f origin  HEAD:master    // 强推远端master分支

      场景3:git cherry-pick <commit>

        作用:命令用于将一个特定的提交应用到当前分支的最新状态上,尤其是在你需要从另一个分支中提取某个特定更改(提交)并应用到当前分支时

        例如,如果你有一个名为 feature-branch 的分支,并且你想把其中的一个提交应用到 main 分支上,你可以这样做:
git checkout main                    // 切换到 main 分支
git cherry-pick feature-branch^3     //feature-branch^3 指的是 feature-branch 分支上的第三个最近的提交

gitee相关参考引用:SSH 公钥设置 | Gitee 产品文档

        

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值