質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Git

Gitはオープンソースの分散バージョン管理システム(DVCS)です。

Webサイト

一つのドメイン上に存在するWebページの集合体をWebサイトと呼びます。

GitHub

GitHubは、Gitバージョン管理システムを利用したソフトウェア開発向けの共有ウェブサービスです。GitHub商用プランおよびオープンソースプロジェクト向けの無料アカウントを提供しています。

Q&A

2回答

1497閲覧

vscodeでのリアルタイム共有

vscode

総合スコア1

Git

Gitはオープンソースの分散バージョン管理システム(DVCS)です。

Webサイト

一つのドメイン上に存在するWebページの集合体をWebサイトと呼びます。

GitHub

GitHubは、Gitバージョン管理システムを利用したソフトウェア開発向けの共有ウェブサービスです。GitHub商用プランおよびオープンソースプロジェクト向けの無料アカウントを提供しています。

0グッド

0クリップ

投稿2021/04/24 07:16

現在、vscodeを使ってwebサイトを使っています。githubのリポジトリを使ってファイルの共有をしています。しかし、Aさんが編集中にBさんがファイルにアクセスして、コードを例:cake→cook hat→hat(変更なし)に変更したとします。しかし、その間にAさんはcake→cake(変更なし) hat→hatt に変更していたとしましょう。 するとBさんが先にコミットしてプッシュすると、Aさんがさらにコミットしてプッシュしたときにエラーが発生しますよね? 要するに Aさん cake→cake(編集なし)hat→hatt Bさん cake→cook hat→hat(編集なし)と編集したものをファイル cake→cook hat→hatt に変更、となるようにしたいのです。まとめると、お互いの編集したものがくみ取られるようにしたいわけです。この時、どうしたら私の願いはかなえられますか? パワポの共同編集のように、リアルタイムに人の名前がでて、編集してないときは消える、そして編集した部分はリアルタイムに他の人に同期される。このような拡張機能などは存在しますか? ただし、ホストがいないと編集できないvscdoe liveshare などは求めてないです。ホストがいなくても編集できる機能を探しています。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

別回答で話が進んでいるみたいですが、横から失礼します。

用語は正しく使う必要があります。gitではpushとmergeは異なる操作です。

  • プッシュ(push)

ローカルでコミットしたものをリモート(githubなど)に反映させること

  • マージ(merge)

同一のコミットから別々に行なわれた変更を混ぜること。ローカルで行なうことが多い。

質問のように、1つのmasterブランチのとあるコミットに、AさんBさんがそれぞれのローカルで別々に変更を加え、それをgithubのリポジトリにプッシュしようとしたらどうなるか、ということですが、

変更内容によって違います。
github上で自動でマージされでpushが成功する場合もあるし、コンフリクト(衝突)が発生してプッシュが失敗する場合もあります。

ただ、何れの場合も、先にプッシュした内容が後にプッシュした内容で上書きされてしまうということはありません。(pushのときにそういうオプションを付けてしまうと別ですが|

コンフリクトが発生した場合は、ローカルにフェッチするなどして、手動でマージしてコミットを作って改めてプッシュすることになります。

投稿2021/04/24 10:40

TakaiY

総合スコア13790

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

するとBさんが先にコミットしてプッシュすると、Aさんがさらにコミットしてプッシュしたときにエラーが発生しますよね?

たしかにそのままプッシュはできませんが、両者の変更箇所が異なる場合、3-way mergeで問題なくマージが完了することもありえます。

投稿2021/04/24 07:22

編集2021/04/24 07:25
maisumakun

総合スコア146018

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

maisumakun

2021/04/24 07:24

常に人間が解釈する文章ならともかく、一定の文法構造を保たなければならないソースコードは、同時編集にむしろなじまないと考えます。
vscode

2021/04/24 07:27

では、上述のように、Aさんがコミットプッシュ(cake→cake hat→hatt)したあとにBさんがコミットプッシュ(cake→cook hat→hat)してもファイルは(cake→cook hat→hatt)になるんですか?自分は後からプッシュしたほうが優先されると思うのですが
maisumakun

2021/04/24 07:29 編集

> 自分は後からプッシュしたほうが優先されると思うのですが されません(競合を解決しないとプッシュできません)。Bさんがプッシュしようとした時に3-way mergeで自動解決するか、あるいは手動で調整して解決した上でコミットするかになります。
vscode

2021/04/24 07:30

vscode.github,git初心者なのでよくわかりませんが、自分はいつも、vscodeから編集して、コミット、pushをおしてマージしてます。ほかの編集者も同じ方法で行ってます。この場合どうなりますか? 素人ですみません
maisumakun

2021/04/24 07:33 編集

分岐している場合、先にマージしなければ「プッシュそのものに失敗します」。これはGit自体の動作によるもので、使うツールには影響されません。
vscode

2021/04/24 07:35

ブランチは分岐させずに編集してるのですが、マージってできるんですか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問