我的团队正在使用一个非常简单的Git工作流程。每个人都在同一个分支中发展。我想知道当我处于工作中并且需要修复错误时,我应该做的一系列命令。
以下是我的情况:
我正在同事的同一个分支工作。
有些用户指出git stash
会解决它,所以这是一个重复的问题。我对此提出异议,因为我甚至都不知道这个功能存在。该功能解决了我的问题,但我相信这个问题是有效的,因为我从另一个角度提出这个问题。
答案 0 :(得分:2)
你必须藏匿文件
git stash
添加像往常一样git checkout main
将其存储以供日后使用git commit
开展工作git checkout your_branch
在主分支中提交您的更改git stash pop
返回(^\[\s?.{1,15}\s?.{1,15}\s?\]\,$)
带回您的作品答案 1 :(得分:2)
其他答案使用git stash
,我同意这是标准技术,但这是另一个"模拟"一个存储(并且有一个备份,因为存储在你的reflog中没有保存;加上你的主分支将没有你未跟踪的文件)。
以下是您应该采取的步骤:
1. git add .; git commit -m "All files saved" // commit your work in current branch
2. git checkout main // go to main branch
3. git add .; git commit -m "Finished fixing bug" // fix bug and commit
4. git push remote main // push your main branch to remote; do a fetch and merge, etc if needed
5. git checkout my_branch // come back to your branch
6. git reset HEAD^ // go back from your dummy commit
这也会保存您未跟踪的文件。
或者,使用git stash -u
,它还会存储未跟踪的文件。
答案 2 :(得分:0)
您需要隐藏更改:
git stash save "will come back in 5 minutes"
git checkout blahblah
jadajadajada
git checkout where-i-was
git stash pop
你回到了你的位置
答案 3 :(得分:0)
git stash
可能是您正在寻找的内容。
使用git stash
暂时存储您对跟踪文件所做的更改。走开,在另一个分支上工作。然后回来做git stash pop
。
需要记忆。你必须记住,你把东西藏起来了。
或者你可以提交你的工作,在另一个分支上工作,然后回来git reset HEAD^
将分支置于之前的状态。所以实际上把一个藏在上下文中。只要你不推动这项工作正在进行中,那么你就可以了。