我现在有个文件是a.js 但是本电脑上的a.js不是最新版,我想把他更新为最新版(不和我的这个版本合并,想得到纯粹的最新版)
伊谢尔伦2017-04-24 09:14:58
信頼できる答えを教えてください。この答えを採用することに問題はありませんが、特定のファイル操作を対象とするものでも、IDE を使用するものでもありません。
私は PHP Storm を持っていないので、その兄弟である IntelliJ IDEA を例として使用します。
実際、ローカル ファイルを削除して最新バージョンを取得する必要はありません。「履歴から指定されたファイルの任意のバージョンを更新する」だけです。これには、もちろん最新バージョンが含まれます。次に、最新の履歴レコード (git fetch
) を取得していることが前提となります。対応する IDE 操作は次のとおりです。
git fetch
,对应的 IDE 操作是:
接着我们来看如何对指定文件进行版本更新。
第一步,查看目标文件历史记录
第二步,找到你要的版本(无论是新版本还是旧版本都一样)
另外,在此时你可以对文件内容进行比对,有助于精确定位你要的版本,如下图(右键菜单里有 Compare...)
最后,使用 Get 菜单项获取指定版本,其对应的命令是 git checkout
如上所述,IDE 里的集成操作还是很方便的,胜过命令行的方面就是图形化指示相当清晰。但是——命令行更快,更灵活,只要你脑子够清楚,还是命令行的效率更高一筹。
其实若流程顺畅,一半是较少针对特定文件去获取特定版本的。多数情况下我们都是 git pull
-> 干活 -> commit -> 干活 -> commit ... -> git pull
(maybe 解决冲突) -> git push
,每一次你 git pull
的时候,都等于拿到了所有文件的最新版本(等价于 git fetch
+ git merge/rebase
git checkout
です🎜
🎜🎜
<時間>
🎜 上で述べたように、IDE での統合操作は依然として非常に便利です。コマンド ラインよりも優れているのは、グラフィカルな指示が非常に明確であることです。ただし、コマンド ラインの方が高速かつ柔軟です。十分に理解している限り、コマンド ラインの方が効率的です。 🎜
🎜実際、プロセスがスムーズであれば、半数が特定のファイルの特定のバージョンを取得する可能性は低くなります。ほとんどの場合、 git pull
-> commit -> work-> を実行します (競合を解決する可能性があります)。 -> git Push
、git pull
を実行するたびに、すべてのファイルの最新バージョンが取得されます (git fetch
+ と同等) git merge/rebase
)、すべてのバージョンを更新したくない場合を除き、上記の操作は多くの場合、最新バージョンを取得するのではなく、バージョンをロールバックすることになります。その場合、私の答えは必要です。 🎜阿神2017-04-24 09:14:58
「送信」というときは、コミットまたはプッシュのことを意味しますか?
特定のファイルを削除したいだけの場合は、直接削除してください
ロールバックコミットの場合は、更新する前のバージョンに戻してから、再度プルします
怪我咯2017-04-24 09:14:58
これは PhpStorm とは何の関係もありません。単なる基本的な git 操作です。
ファイルをローカルで削除し、リモートのファイルをプルダウンします。
a.jsを削除するrm -rf a.js
rm -rf a.js
更新本地git add .
git commit -m "deleted a.js"
合并远程git fetch
git checkout origin/master a.js
ローカルを更新します
git add .
git commit -m "deleted a.js"
リモートをマージします
git fetch
🎜git checkoutorigin/master a.js
🎜
🎜origin はリモート名です🎜
マスターはリモートブランチです🎜