gpt4 book ai didi

git - 如何在 "git checkout"上更新工作目录?

转载 作者:IT王子 更新时间:2023-10-29 00:41:58 24 4
gpt4 key购买 nike

考虑以下“故事”:

$ mkdir my_project
$ cd my_project
$ git init
Initialized empty Git repository in /home/misha/misha/my_project/.git/

$ echo "first line" > hello.txt
$ git add hello.txt
$ git commit -m "first commit"
[master (root-commit) 9c913a1] first commit
1 files changed, 1 insertions(+), 0 deletions(-)
create mode 100644 hello.txt

$ git branch new_feature
$ git checkout new_feature
Switched to branch 'new_feature'
$ echo "second line" >> hello.txt
$ cat hello.txt
first line
second line

$ git checkout master
M hello.txt
Switched to branch 'master'
$ cat hello.txt
first line
second line

为什么 hello.txtmaster 分支上有两行? (我认为 git checkout 会将工作目录恢复到以前的状态,即 hello.txt 将只有一行。)

git checkout 上的工作目录在幕后究竟发生了什么?它是如何更新的?

最佳答案

您的 git checkout to master 可防止您丢失未提交的更改。这就是为什么您的 hello.txt 文件中仍然有第二行。如果您真的想丢失未提交的更改,则必须使用 -f 参数。

最后您的 checkout 将如下所示:

git checkout -f master

关于git - 如何在 "git checkout"上更新工作目录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7902144/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com