2016-07-21 17 views
3

他の開発者とプロジェクトを開発するのは初めてです(現在2つだけです)。私たちの考えはFileZillaのようなFTP/SFTPソフトウェアを使って、サーバーから直接ファイルを編集することです。編集用に開いたファイルはブロックされ、他のユーザーは同時に編集することはできません。これは可能ですか? FileZillaではなく、おそらく他のソフトウェアを使用していますか?私はGit、Codiadなどのソリューションを見てきましたが、複雑すぎる(GitHubの並行バージョンをマージするのは簡単ではありません)か、バグがあります(Codiadはファイルを保存していません)。私たちはファイルロックは原始的だと思っていましたが、私たちにとっては十分です(私たちは同じ部屋にいます)。問題は、それをどのように実装するのかです。編集時にUbuntuサーバーでファイルをロックする方法

答えて

2
  • FTPにファイルロックはありません。
  • SFTPでロックされていますが、一般的にサポートされていません。詳しくは、SFTP file lock mechanismを参照してください。
  • WebDAVにロックがありますが、mod_davのような一般的な実装では実際にWebDAV "world"のみでファイルをロックしますが、実際のファイルはロックされません。

私はリモートからファイルをロックするための一般的に利用可能なメカニズムについて認識していません。

+0

あなたはGitのようなものを使うことを提案しますか? – Rodrigo

+0

Apache Subversion(SVN)は良い選択と思われますが、単純な代替手段がないと考えるのは難しいです!私が必要とするのはファイルロックで、派手なサブバージョンコントロールはありません! – Rodrigo

+0

Gitは良い選択ですが、もちろん、それはあなたにとって過度のものかもしれません。 –

3

あなたがチームのためにKodingをインストールすることができます(無料で最大4)、コラボレーションモードでwebideを使用できます。

+1

ええ、私はそれを試みることができます。それでも、サーバーにはそのような古典的な機能がないことに驚いています。 – Rodrigo

2

小さなプロジェクトでは、lokingは大丈夫です(大規模なプロジェクトでは使用できません)が、gitを調べる必要があります。同じコードで同時に作業すると、うんざりします。 Git GUIの複雑さの一部を取り除くために、私が使っているものはsourcetreeですが、他にもたくさんのものがあります。彼らはあなたが何をしているのか、何が起こっているのかを視覚化するのに役立ちます。

あなたの質問に答えるために、私はあなたが何をしているのか分かりませんが、Dreamweaverにはファイルをロックする方法がありました。これはfilename.lockという名前のファイルを作成することによって行われました。これは、誰がそれをロックしたかの詳細を含むテキストファイルでした。このような操作を手動で行うことができます。ロックファイルを作成する場合はロックファイルを作成し、ロックファイルを削除する場合はロックファイルを持つファイルを編集しないようにします。

それは最高の解決策ではありませんが、あなたの仕事の仕方によっては、うまくいく可能性があります。

7

このように行かないでください。
まず、コードのコピーを1つしか持たないことは危険です。サーバー上のファイルを直接編集すると起こります。
第二に、私は実際に人々が過剰なものを見つける理由を理解していません。git
小規模なチームで実際の配達パイプラインがない場合は、gitの全力を習得する必要はありません。あなたはブランチとマージで作業する必要はありません。

あなたはgitで作業を開始するために必要なのは、次のとおりです。
git clone URL_OF_REPOSITORY - リポジトリのコピーをダウンロードし、それ
git add PATH_TO_EDITED_FILE_OR_FOLDERで作業を開始する - コミット
git commit -m 'DESCRIPTION OF CHANGES'のための上演など、ファイルまたは/およびフォルダをマークする - コミットします/前の手順でマークしたファイルとフォルダの変更を受け入れて、その変更に関する情報をローカルに保存する
git push - コミットされた変更をリモートリポジトリにアップロードする
git pull - 他の人がコミットし、表示されているとおり、高度な情報を提供することは期待していません。リモートリポジトリのURLだけで、他の人と共有する準備が整ったと思ったファイルや、変更の希望の説明。本当に難しいことではありません。そして、バージョン管理システムに精通している必要があります。これは、最近のソフトウェア開発の中核技術の1つです。

+2

これです。私は単独の開発者プロジェクトでもgitを使用しています。 – MirMasej

+0

ありがとうございます。しかし、ファイルを1か所に置いても、毎日のバックアップがないというわけではありません。第二に、他の回答では「両方とも同じコードで同時に作業すればうんざりします」というのはまさに私の心配です。何か厄介なことを望まないでください。単に古い技術が再び働くことを望みます。そして、はい、私はGitを学ぶ必要があることを知っていますが(私はそれで少し働いたことがあります)、私はまだそれが我々の仕事のために過労だと思う。 – Rodrigo

+0

@Rodrigoは「コードの同じビット」と言っているのは、同じファイルではなく同じ行を意味します。たとえそれが起こっても、gitはあなたに警告し、矛盾する行の代わりに良いdiffを入れます。後で行う必要があるのは、適切なコードを選択し、もう一方を削除して変更をコミットすることだけです。リモートファイル上でFTP経由で作業することによって得られることは、警告なしに他の開発者が行った変更を単純に上書きすることです。 – ElmoVanKielmo

関連する問題