4

ここの初心者。WS-A と WS-B の 2 つの Linux ワークステーションがあります。

WS-A にプロジェクトがあり、それを bitbucket のリモート リポジトリにプッシュしました。

そして、git cloneWS-B でいくつかの変更を行い、何らかの理由で WS-B でいくつかのファイルを削除し、WS-B で再度プッシュしました。

しかし、私は非常に混乱しています.WS-Aでは、git pull. 私は何をすべきか?私はそれらを削除したいと100%確信しています。私はこのコードの唯一のユーザーです。唯一のバージョンを保持したい。

4

2 に答える 2

2

具体的な例は、削除され、Git によって「削除済み」とマークされたリポジトリからファイルをクリーンアップするのに苦労している開発者を支援するはずです。これらの「削除された」ファイルを完全に削除しない場合、Git はgit status. git status多くの「削除された」ファイルがぶら下がっている場合、出力を読み取るのは困難です。

1)次の方法でレポのステータスを確認しますgit status

$ git status
On branch master
Your branch is up-to-date with 'origin/master'.
Changes not staged for commit:
    (use "git add/rm <file>..." to update what will be committed)
    (use "git checkout -- <file>..." to discard changes in working directory)
        deleted:    repoDir/subDir/Info.plist
        deleted:    repoDir/subDir/MacOS/CrashLogDemo
        deleted:    repoDir/subDir/PkgInfo...

no changes added to commit (use "git add" and/or "git commit -a")

2)git rm Git が「削除済み」とマークしたファイルを完全に削除するために使用します (この場合、ワイルドカード [*] を使用してディレクトリ全体を削除しています)。

$ git rm repoDir/subDir/*
rm 'repoDir/subDir/Info.plist'
rm 'repoDir/subDir/MacOS/CrashLogDemo'
rm 'repoDir/subDir/PkgInfo'...

3)を使用してコメントで変更をコミットしますgit commit -m

$ git commit -m "Removed unncessary files."
[master 9178ad4] Removed unncessary files.
    28 files changed, 2377 deletions(-)
    delete mode 100644 repoDir/subDir/Info.plist
    delete mode 100644 repoDir/subDir/MacOS/CrashLogDemo
    delete mode 100644 repoDir/subDir/PkgInfo...

4) git push適切なレポ/ブランチへの変更:

$ git push origin master
Counting objects: 3, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 291 bytes | 291.00 KiB/s, done.
Total 3 (delta 2), reused 0 (delta 0)
remote: Resolving deltas: 100% (2/2), completed with 2 local objects.
To https://github.com/accountName/CrashLogDemo.git
    f4716fa..9178ad4  master -> master

5)最後に、他のユーザーが を実行するgit pullと、不要なファイルがローカルから削除されます。

于 2018-02-15T17:45:50.760 に答える