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

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

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

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

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Q&A

2回答

433閲覧

大学の問題で出されている問題なのですが、自分で調べてみても全くわかりません。まず問題の解釈が分からず、ITのスペシャリストの方々にご教授いただけると幸いです。

kaminyaaa3

総合スコア0

Git

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

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

0グッド

2クリップ

投稿2021/02/28 08:00

質問内容:開発者がソースコードの変更履歴管理を行う管理システムは多数ありますが、それには対応したクライアントが必要です。Linux向けで使用できる有名なコマンドラインツールを1つあげてください。

これに対する回答が分からず、そもそも問題の意図もよくわかっていません。
コマンドラインツール等も調べたのですが、いまいち何を指しているのかがよくわかっていません。
単純に、Gitという回答なんでしょうか?
質問の意図や、それに対応する回答をご教授いただけますと幸いです。

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

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

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

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

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

fiveHundred

2021/02/28 08:07

先生に聞いたほうが確実な内容です。
kaminyaaa3

2021/02/28 08:11

明日までに答えなければいけない問題で、自分でできると調べている内に今日になり、日曜で質問できない状況です...
otn

2021/02/28 08:31

大学の課題であれば、講義でやってるはずなので、復習しましょう。
ockeghem

2021/02/28 10:04

これ、確かに意図がよく分からない問いですね。Gitに対応したコマンドラインツールがGitだというのは違和感があります。強いて言えば、小文字で git ですが、違うかも。正解がわかったらフィードバックをお願いします。
guest

回答2

0

オフトピなのでマイナス評価(-5点で表示から消される)しておきますが、
ITエンジニアに進むということで回答しておきます
その代わり、自分が詳しくなったら、答えられそうな質問には答えて貢献してください。

単純に、Gitという回答なんでしょうか?

Gitは模範解答の一つでしょう。

これだけGitが流行った現状これといった対抗馬がありません。
まぁ、回答の選択肢自体は探せば大量に出てきます。
参考記事: バージョン管理システムの一覧 - Wikipedia

これらを合わせて確認すると、
もしかするとクライアントサーバーモデルの中から選ばなければならない引っ掛け問題?

でもまぁ18歳やそこらのまだろくに勉強してない大学生が
Gitを差し置いてSVNやCVSの過去に流行ったクラサバモデルを
スラスラ答えるのは違和感すごいです。
私が教授ならお前歳ごまかしてるやろって言います。

また、設問に「Linux向け」とありますので、
特定の環境で囲い込んでいるマイクロソフト社製品を答えるのもダメでしょう。
この辺の裏の事情まで踏まえるとGit一択ではないかと感じます。

開発者がソースコードの変更履歴管理を行う管理システムは多数ありますが、

それには対応したクライアントが必要です。
Linux向けで使用できる有名なコマンドラインツールを1つあげてください。

分からないのは「クライアント」と「コマンドラインツール」の部分ですね。
この2つについて解説していきます。

クライアントは直訳すると「依頼人・顧客」を指します。
対義語は顧客にサービスを提供する「サーバー」となります。

Gitってローカルで各自が勝手に世代管理を行いますので、
クラサバ方式か?と聞かれれば語弊があります。
ただGitにはGitHubと連携する機能も含まれており、
Git自体もクライアントではありますしGitHubはサーバというのは間違いではありません。

SVNやCVS何かの過去の世代管理を行うツールはクラサバ方式が多く、
これらはサーバマシンが無ければ何も出来ません。
手元のコマンドラインツールはサーバに「世代管理してください」と要求するだけですので、
これらはまごうことなきクライアントです。


コマンドラインツールはCLI向けのツールを指します。
CLIとはなんぞや?となるかと思いますので、
CLIを語る上で欠かせない、GUIとCLIから解説します。

世間一般の人(恐らく質問者さんも)が「パソコンの画面」と言われると、
グラフィカルな画面でマウスやトラックパッドで多くの操作を行う事を想像するでしょう。
これをGUI(グラフィカルユーザーインタフェース)と呼びます。
(iPhoneやAndroidもこの分類)

GUIは1990年に登場したWindows3.1あたりでメジャーになりましたが、
コンピュータ自体はそれより昔から続く長い歴史があります。
GUIが流行るまでの時代は黒い画面に文字列だけ表示されて
キーボードでタイピングしながら指示を出すCLI(コマンドラインインタフェース)が主流でした。

最新のWindowsやMacにもコマンドプロンプトやターミナル等のソフトが内蔵されており、
その気があればCLIでシステムを操作することが可能です。

誰でもマウスやトラックパッドでパソコンを操作出来るGUIは一見とっつきやすいのですが、
視覚情報を頼りに指先でマウスやトラックパッドを操作してカーソルを動かすので、
パソコンど素人を越えた過ぎても、PCを自在に操って効率を出す事は中々出来ません。
「はい、GUI操作を楽にするために便利なもの作って」と言われてもすぐには思いつかないと思います。

逆にCLIは普段から使っているコマンドを5個1セットに固めたりという事が楽にできます。
「うおー、これらコマンドをループで固めて1コマンドで終わるようにしたった!超天才www」
こういったズルがしやすい、拡張しやすい作りになっています。

一概にCLIは古臭い「おじいちゃん用のシステム」とバカに出来ない側面があります。
単純にタイピング速度が速ければ速い程、操作スピードが上がりますので
「1人の優れたエンジニアは並のエンジニア100人分の働きをする」逸話はあながち間違いでもありません。


要するに、GUIよりCLIのがちょっと便利なツールを簡単に作れるよって話です。
なのでCLIの世界では前人達が作ったちょっと便利な「コマンドラインツール」が豊富にあり
Gitなんかもその「コマンドラインツール」の一つです。

SourceTreeといった
裏側ではコマンドラインツールのGitを利用してるけど、
それに画面を付けて気軽にGitの良さを引き出せるようにしたGUIのツールも存在します。
(そんなに便利なものがCLIで出来たらGUIにも移植したいという発想はまぁそうだよね)

投稿2021/02/28 11:28

miyabi-sun

総合スコア21158

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

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

0

単純に、Gitという回答なんでしょうか?

それも正解です。

投稿2021/02/28 08:29

maisumakun

総合スコア145184

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問