git的新手(通过我的新工作)并被指示"只需在提交之前执行拉,我就这样做了。令我惊讶的是,我工作目录中的所有更改都消失了。
感谢。
答案 0 :(得分:6)
在提交任何有效更改之前永远不要拉。这将消除您的所有更改。
要保留你的代码,你必须提交,然后拉,然后最后推送。
请按照以下步骤进行操作 -
将您的文件添加到提交 -
git add <filename>
使用提交消息提交这些文件 -
git commit -m "added blah feature"
然后,拉(最好是rebase)从repo获取最新的代码 -
git pull --rebase
然后推(YAY!) -
git push -u origin master
关于他们的意思(看看你讲过的Jenkins CI) -
首先从repo到你的本地目录拉代码(也可能是硬复位,有时也是如此)。然后,如果您有一个单独的分支或不同的本地工作目录,请从那里进行更改到这个新位置(拉),然后提交您的更改。然后最后推。
希望它有所帮助:)快乐的编码!
答案 1 :(得分:5)
命令git pull
实际上是git fetch
和git merge
的别名。无论是谁教导你的人都可能做得不好,因为git pull
在你犯罪之前就会消灭你所有的工作。他们应该告诉你做的是提交,然后 git pull
,或者如果你不想要合并历史,请使用git pull --rebase
。之后你可以git push
。
不幸的是,如果被git pull
发起的合并覆盖,我无法相信有任何方法可以取回您未承诺的工作。
此外,作为一个非超级相关的友情提醒,请确保每次开始处理新提交之前,git pull
以获得其他任何人一直在进行的提交。