可以为代码中的每一个小更改创建新分支吗?

men*_*ndo 1 git github

我已经使用 Git 大约 6 个月了,但我不完全确定我是否做得对,例如我有一个新项目:

git init
git add *
git commit -m "new project"
Run Code Online (Sandbox Code Playgroud)

然后我继续编码直到完成一个功能(例如登录表单),所以我:

git checkout -b "v1.1"
git add *  # to add new files
git commit -m "login form done"
Run Code Online (Sandbox Code Playgroud)

我添加了另一个功能(例如导航菜单):

git checkout -b "v1.2"
git add *  # to add new files
git commit -m "Navigation menu done"
Run Code Online (Sandbox Code Playgroud)

有时我会为一些小事情创建新的分支,比如一行代码(例如background-color: blue在我的 css 文件中):

git checkout -b "v1.3"
git commit -m "body background color changed"
Run Code Online (Sandbox Code Playgroud)

我这样做是因为如果我想回到颜色不同时的状态我就会git checkout v1.2

这是正确的做法吗?或者还有另一种方法可以返回到不同的状态,而无需每次都创建新分支?

mat*_*att 5

这里没有对与错。分支非常轻量(分支只是一个名称,你几乎不可能比它更小)。所以你的方法不会造成任何伤害。

\n\n

但我只想问你:你知道像git revert和 这样的命令git reset吗?关键是,如果您知道哪个提交进行了某些更改,则可以使用这些命令撤消它。您不需要单独的分支来执行撤消。在某些方面,拥有额外的分支会使有效撤消变得更加困难。

\n\n
\n\n

分支的目的更像是,“我将要做一些事情,但我不知道这将如何进行,所以我希望能够在很长一段时间内在许多地方做出许多改变不一定会损害我现有的代码。”

\n\n

分支的另一个优点是您可以在分支之间来回交换代码状态而不会受到惩罚(switch、 n\xc3\xa9e checkout)。

\n\n

如果您不需要为每个更改都进行更改,则可能不需要单独的分支。

\n