常用的git管理逻辑

在这里插入图片描述

//首先创建新的分支
git branch new_branch

//切换到另一个分支
git checkout new_branch

//修改代码,添加新的文件
git add .

//查看文件的状态
git status

//打包自己的改变
git commit -m "comment"

//推到远程服务器上
git push origin new_branch

// 拉远程master分支的最新变化到远程new_branch上
git pull --rebase origin master 
拉取origin远程的master分支

// 拉远程new_branch分支的最新变化到master上
git checkout master
git pull --rebase origin new_branch 

git status

这里具体讲解一下,状态主要分为三种状态

1)Untracked files → 文件未被跟踪; (即没有用add命令的情况)

2)Changes to be committed → 文件已暂存,这是下次提交的内容;(用add命令之后或者文件被修改了再用add命令)

  1. Changes bu not updated → 文件被修改,但并没有添加到暂存区。如果 commit 时没有带 -a 选项,这个状态下的文件不会被提交。(文件被修改但没有用再次add命令)
$git status
# On branch master
# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
#
#    new file:   file2
#
# Changed but not updated:
#   (use "git add <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#
#    modified:   file
#
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
#    file3

git push

git push 命令用于从将本地的分支版本上传到远程并合并。

命令格式如下:

git push <远程主机名> <本地分支名>:<远程分支名>

如果本地分支名与远程分支名相同,则可以省略冒号:

git push <远程主机名> <本地分支名>

以下命令将本地的 master 分支推送到 origin 主机的 master 分支。

$ git push origin master

git pull origin next

如果远程分支(next)要与当前分支合并,则冒号后面的部分可以省略。上面命令可以简写为:

$ git pull origin next

//更多请阅读:https://www.yiibai.com/git/git_pull.html

git pull —rebase origin next

git pull = git fetch + git merge

git pull --rebase = git fetch + git rebase

总结git merge和git rebase的区别:

merge:生成一个新节点,之前的提交分开显示。 rebase:不生成新节点,是将两个分支融合成一个线性的提交。

⚠️注意:在rebase的过程中,有时也会有conflict,这时Git会停止rebase并让用户去解决冲突,解决完冲突后,用git add命令去更新这些内容,然后不用执行git-commit,直接执行git rebase --continue,这样git会继续apply余下的补丁。
在任何时候,都可以用git rebase --abort参数来终止rebase的行动,并且mywork分支会回到rebase开始前的状态。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: `hookPath` 是 Git 仓库中用于存放 Git 钩子脚本的路径。在 Git 中,钩子脚本可以在特定的 Git 操作(如提交代码、推送代码等)发生时触发执行,从而可以在这些操作前、后执行一些自定义的操作。`hookPath` 参数可以通过 `git config` 命令进行配置,如下所示: ``` git config core.hookspath /path/to/hooks ``` 这样配置后,Git 就会在指定的路径下寻找 Git 钩子脚本,并在需要执行钩子脚本时调用这些脚本。 ### 回答2: git的hookPath是指配置在本地仓库的一个路径,用于存放git hook脚本。 git hook是一种在git仓库中触发特定事件时执行的自定义脚本。git提供了一系列的hook事件,如pre-commit、post-commit、pre-push等,可以在这些事件发生时执行相应的操作。这些hook脚本可以帮助我们在代码提交、推送等操作前后进行一些自动化的任务,如代码检查、测试、部署等。 通常情况下,git hook脚本存放在本地仓库的.git/hooks目录下,每个脚本对应一个hook事件。然而,这种方式存在一个问题,就是当我们需要在多个本地仓库中使用相同的hook脚本时,需要在每个仓库中单独复制配置,不仅繁琐而且容易导致遗漏或不一致。 为了解决这个问题,git引入了hookPath这个配置项。通过设置hookPath的值为一个指定路径,可以统一管理多个本地仓库的hook脚本。设置了hookPath后,每个本地仓库在进行git操作时会使用该指定路径下的hook脚本,而不是本地仓库的默认.git/hooks目录下的脚本。 使用hookPath有以下几个步骤: 1. 创建一个用于存放共享hook脚本的目录,比如/opt/git-hooks。 2. 将需要共享的hook脚本复制到/opt/git-hooks目录下,并赋予执行权限。 3. 在.git/config文件中添加hookPath配置项,将其值设置为/opt/git-hooks。 4. 保存配置文件,然后在本地仓库进行git操作时,将会使用/opt/git-hooks目录下的hook脚本。 通过配置hookPath,我们可以方便地实现共享hook脚本的目的,减少配置的重复劳动。同时,由于hookPath指定的路径可以是一个版本控制的目录,可以更好地管理和维护hook脚本的版本和变更记录,确保多个仓库使用的都是同一个版本的hook脚本。 ### 回答3: git hookPath是git中一个用于配置钩子脚本路径的选项。 在git中,钩子(hook)是一种在特定事件发生时执行的脚本,可以用于自动化一些操作,比如在提交前做代码检查、在推送前执行测试等。git提供了一系列的钩子,如pre-commit、pre-push、post-commit等等。 通过设置hookPath选项,可以指定一个自定义的钩子脚本路径。在git中,每个仓库都有一个.git/hooks目录,该目录下存放着各个钩子的示例脚本文件。如果我们想要使用自定义的钩子脚本,可以将脚本文件放在这个目录中,并通过设置hookPath选项指定脚本的路径。 举个例子,假设我们的项目中有一个pre-push.sh的脚本,用于在推送前执行一些自定义的逻辑操作。我们可以将这个脚本放在.git/hooks目录下,并在项目根目录下的.git/config文件中添加以下配置: [core] hookPath = .git/hooks 这样,git在执行钩子时就会找到我们自定义的pre-push.sh脚本,并执行其中的逻辑。 通过配置hookPath选项,我们可以很方便地使用自定义的钩子脚本,将一些常用的操作自动化,提高开发效率和代码质量。同时,也可以在团队协作中,通过钩子脚本来做一些统一的规范和限制,确保代码符合要求。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值