能让我在团队中从事项目的最小git命令集是什么

能让我在团队中从事项目的最小git命令集是什么,git,github,version-control,Git,Github,Version Control,伙计们,我是计算机科学大学一年级的学生,对编程和git还不熟悉。我正在和另外三个人一起做一个学校项目 我试着看了一些git教程,但它们很长,细节太多。我想问你们关于git命令的最小集合的问题,这样我就可以开始这个项目了 以下是我到目前为止所知道的关于如何开始该项目的工作 要开始这个项目,我首先需要git clone 假设现在我在主分支上,我需要通过git checkout-b 在一些编码之后,我git add.如果它准备好提交,我git commit然后最后git push 所以这里是我的第一个

伙计们,我是计算机科学大学一年级的学生,对编程和git还不熟悉。我正在和另外三个人一起做一个学校项目

我试着看了一些git教程,但它们很长,细节太多。我想问你们关于git命令的最小集合的问题,这样我就可以开始这个项目了

以下是我到目前为止所知道的关于如何开始该项目的工作

  • 要开始这个项目,我首先需要
    git clone
  • 假设现在我在主分支上,我需要通过
    git checkout-b
  • 在一些编码之后,我
    git add.
    如果它准备好提交,我
    git commit
    然后最后
    git push
  • 所以这里是我的第一个问题,假设我继续使用相同的功能,也就是说,我留在同一个分支中,下一次提交应该是
    git commit-amend
    还是
    git commit
    ?我知道,
    git commit-amend
    允许您将阶段性更改与以前的提交相结合,而不是创建一个全新的提交。因此,我不确定这两个提交是否是关于同一功能的实现,我是否应该将它们结合起来

    如果我的团队中有人在回购协议中做了一些更改,我需要将本地主机与远程主机同步,我做了一些研究,我知道可能有两种方法可以做到这一点

    一种方法是

  • git checkout master
    切换到master分支
  • git pull
    获取最新代码
  • git branch-b
    创建跟踪要使用的主机的分支
  • 另一种方法是

  • git fetch
  • git签出主机
  • git重置-硬原点/主原点
  • git分行-b

  • 这是我的第二个问题,这两种方法正确吗?它们是相同的吗?所以,你们能为我的本地主机和远程主机的同步提供一些其他方法吗?Ad 1:这两种方法都是可能的,这取决于与您合作的团队更喜欢的做法。有些团队更喜欢每个功能进行一次提交,有些团队更喜欢较小的提交,每个提交都会在功能的实现过程中引入一个独立的逻辑步骤


    Ad 2:我不明白这两种方法的最后一步是如何与更新主分支相关的
    git pull
    git fetch
    +
    git merge
    ,但是
    重设--硬的
    也是可能的-但是一定要检查工作副本中没有任何更改,它们将完全丢失。主机同步后,可以
    git-rebase
    所有尚未推送的功能分支,以将新主机包含在其中。

    Ad 1:这两种方法都是可能的,这取决于与您合作的团队更喜欢的实践。有些团队更喜欢每个功能进行一次提交,有些团队更喜欢较小的提交,每个提交都会在功能的实现过程中引入一个独立的逻辑步骤


    Ad 2:我不明白这两种方法的最后一步是如何与更新主分支相关的
    git pull
    git fetch
    +
    git merge
    ,但是
    重设--硬的
    也是可能的-但是一定要检查工作副本中没有任何更改,它们将完全丢失。主机同步后,可以
    git-rebase
    所有尚未推送的功能分支,以将新的主机包含在其中。

    我只提几点,您可能会发现它们很有用。在处理一个功能时,我倾向于创建多个提交,然后使用交互式重基对它们进行修改。Interactive rebase是一个非常有用的命令,它可以做很多事情,比如重新排序提交、更改提交消息等等

    另一个可能有用的命令是
    git reflog
    。您可以使用返回到项目的特定状态,以防出现问题

    在git中,有多种方法可以做同样的事情。我使用以下一组命令同步我的回购-

    git获取原始主机

    git重新基准原点/主原点


    使用
    rebase
    时,必须确保工作目录是干净的。有时,您可能会在使用
    rebase
    时遇到合并冲突,您必须解决这些冲突。还有其他方法可以同步本地存储库,但我通常使用上面提到的方法。

    我只提几点,您可能会发现它们很有用。在处理一个功能时,我倾向于创建多个提交,然后使用交互式重基对它们进行修改。Interactive rebase是一个非常有用的命令,它可以做很多事情,比如重新排序提交、更改提交消息等等

    另一个可能有用的命令是
    git reflog
    。您可以使用返回到项目的特定状态,以防出现问题

    在git中,有多种方法可以做同样的事情。我使用以下一组命令同步我的回购-

    git获取原始主机

    git重新基准原点/主原点


    使用
    rebase
    时,必须确保工作目录是干净的。有时,您可能会在使用
    rebase
    时遇到合并冲突,您必须解决这些冲突。还有其他方法可以同步本地存储库,但我通常使用上述方法。

    不幸的是,这个问题实际上相当广泛。你可能会在这里得到一些简短的回答,但在我看来,这会对你造成伤害。Git是一个非常复杂的工具,如果你不知道你在用它做什么,很可能你稍后会回来说“嘿,伙计们,我遵循了这个快速教程a