みなさん、こんにちは🙂注文リストのテキストを続ける前に、パッチを送信した各人と各ユーザーに感謝することで、git2.16のリリースを祝いたいと思います。更新と修正の間に合計4000行がありました。 、これは私の最初のバージョンについてはあまりよく話せませんが、あなたの親切については話しています🙂ありがとうございます! さて、ちょっとした秘密をお話しします。今まで、座って記事を書いたり、よく考えたりしたことはありませんでした。通常は一列に並べるだけで、良いトカゲが優しさを感じます。入力ミスを修正してください🙂彼にも感謝します。
これは、記事を書くことについて話すときは最善ではありません。おそらく、目的を持って構造を構築し、小さなポイントやレビューなどをマークする必要があります...これはブログ一般に適用されるだけでなく、良いふりをするソフトウェア🙂このタスクのために、そして数年前にカーネル開発で使用されたバージョン制御ソフトウェアでいくつかの問題が発生した後、それは生まれました git
🙂
学ぶ場所 git
?
gitに関するドキュメントの量は驚異的です。インストールに付属のマニュアルページを取得しただけでも、膨大な量の資料を読むことになります。 私は個人的に見つけます git book 非常にうまく設計されており、セクション7の一部のセグメントを翻訳しましたが、まだいくつかありますが、時間を取ってください😛今月中に、そのセクションの残りの部分を翻訳できるかもしれません。
gitは何をしますか?
Gitは、高速、効率的、シンプルで、大量の情報をサポートするように設計されています。結局のところ、カーネルコミュニティは、世界最大の無料ソフトウェアの共同作業のXNUMXつであり、数百のソフトウェア用にGitを作成しました。 XNUMX万行を超えるコードベースでのXNUMX時間あたりの貢献の割合。
gitの興味深い点は、データバージョンを維持する方法です。 昔(他のバージョン制御プログラム)は、歴史のある時点で既存のすべてのファイルを圧縮していました。 バックアップ。 Gitは、実行するときに異なるアプローチを取ります commit
履歴のポイントがマークされ、履歴のそのポイントには一連の変更と作業があり、XNUMX日の終わりに、すべての変更が時間の経過とともに収集され、ファイルが取得されて、のマイルストーンとして圧縮またはマークできるようになります。バージョン。 これはすべて複雑に聞こえることを知っているので、超基本的な例であなたを魔法の旅に連れて行きます。
少し計算プロジェクト
計算は、与えられた数の二乗を見つけるプログラムになります。Cでそれを行い、可能な限り単純になるので、私からの多くのセキュリティチェックを期待しないでください。 まず、リポジトリを作成します。Githubを使用して、XNUMXつの石でXNUMX羽の鳥を殺します。
ライセンスのような非常に単純なものをいくつか追加しました(作業を保護したい場合は非常に重要です。私の場合、ベースとして使用したい場合は結果を共有するように強制します:P)
それでは、親愛なるターミナルに行きましょう。 git clone
にあるリポジトリのダウンロードを担当するコマンドです url
割り当てられ、コンピュータにローカルコピーを作成します。
それでは確認しましょう git log
私たちのプロジェクトの歴史の中で何が起こったのか:
ここにさまざまな色の情報がたくさんあります🙂それを説明してみましょう:
最初の黄色い線は「コミットバーコード」です。各コミットには固有の識別子があり、これを使用して多くのことを実行できますが、後で使用できるように保存します。 今、私たちは持っています HEAD
セレステと master
緑。 これらは「ポインタ」であり、その機能は私たちの歴史の現在の場所を指すことです(HEAD
)およびコンピューターで作業しているブランチ(master
).
origin/master
インターネットのカウンターパートです、 origin
に割り当てられているデフォルトの名前です URL
、そして、 master
あなたが働いているブランチです...それをシンプルに保つために、 /
私たちのチームには属していないが、インターネット上にあるものへの参照です。
次に、作成者、日付と時刻、およびコミットの概要があります。 これは、歴史のその時点で何が起こったかについての小さなレビューであり、多くのプロジェクトで非常に重要であり、多くの情報が非難されています。 コマンドを使用してコミットで何が起こったかを詳しく見てみましょう git show <código-de-commit>
git showコマンドは、パッチ形式でこの画面に移動します。ここでは、履歴のその時点で何が追加され、何が削除されたか(何かが削除された場合)を確認できます。これまでのところ、記録 .gitignore
,README.md
y LICENSE
.
それでは、ビジネスに取り掛かりましょう。ファイルを作成しましょう🙂歴史上最初のマイルストーンを作成します😀:
簡単に言うと、実行時に渡される引数の数を示すプログラムを作成します。簡単です🙂
それは簡単でした🙂次の便利なコマンドを見てみましょう: git status
心の優しい人がgitを翻訳して、簡単にフォローできるようにしました。ここには多くの有用な情報があります。マスターブランチにいることを知っています。 origin/master
(Githubブランチ)、追跡されていないファイルがあります! それらを追加するには、使用する必要があります git add
、やってみましょう🙂
これで、作業領域に追加したファイルが表示される新しい緑のスペースができました。 この場所で、変更をグループ化してコミットできるようにすることができます。コミットは、プロジェクトの履歴全体のマイルストーンで構成され、コミットを作成します🙂 git commit
簡単に説明すると、黄色の線はコミットのタイトルです。単なる視覚的な参照のためにmain.cと記述します。 黒いテキストは、前回のコミットから現在までに行われた変更の説明です🙂ファイルを保存すると、コミットがレジストリに保存されます。
今、私たちは私たちのプロジェクトの歴史を見ていきます git log
再びログで、緑と赤の線が異なっていることがわかります。これは、私たちのコンピューターでは、インターネットに保存されている線よりも上のコミットであるためです🙂作業を続行します。今、表示したいとします。ユーザーがプログラムに複数の引数を入力した場合のメッセージ(計算機が混乱する可能性があります🙂)
ご覧のとおり、プログラムは大幅に成長しました😀今では機能があります imprimir_ayuda()
計算の使用方法に関するメッセージをブロック内に表示します main()
今、私たちはレビューをします if
(別の機会にプログラミングチュートリアルで見ることがありますが、今のところ、計算に2つ以上の引数が入力された場合、プログラムが終了してヘルプが表示されることを知っておく必要があります。実行してみましょう。
ご覧のとおり、引数の数ではなく、配信された数が出力されるようになりましたが、好奇心旺盛な方のために、これまでお話ししたことはありませんでした🙂 echo $?
最後に実行されたプログラムの終了コードを示します。 1
エラーで終了したためです。 それでは、私たちのストーリーがどのように進むかを確認しましょう。
これで、Githubより1コミット進んでいることがわかり、ファイルが main.c
変更されました。次のコミットを作成してみましょう。 git add main.c
その後 git commit
🙂
関数を実装し、検証コードを変更したため、もう少し具体的になりました。 保存されたので、最後の変更を確認します。 私たちはそれを見ることができます git show HEAD
赤と緑の線が見えるようになりました。ライブラリを追加しました stdlib.h
、コードの多くを変更し、ストーリーに関数を追加しました。
これでログが表示されます:(git log
)
GithubバージョンよりXNUMXコミット進んでいることがわかります。使用するマーカーを少し均等化する予定です🙂 git push origin master
これで、私のコミットをURLに送信します origin
枝に master
おめでとう! 今、あなたの変更はGithubにあります、あなたは私を信じませんか? 確認しましょう😉
これで、Githubに3つのコミットがあります🙂
要約
の最も基本的な側面に触れました git
、プロジェクトで簡単なワークフローを作成できるようになりました。これは、gitで実行できるさまざまなことのほとんどすべてではありませんが、開発者やブロガーにとって確かに最も実用的で日常的なことです。 計算機の終わりには達していませんが、また別の機会に残しておきます😉ここに来てくれてありがとうございます。いくつかのプロジェクトに参加するのに役立つことを願っています😀ご挨拶
こんにちは...あなたがそうであるかどうかはわかりませんが、このレポートの画像を見ることができません...
よろしく
それは私のブラウザの問題でした。 迷惑なのは恥ずかしい。
私はまだそれをもっと詳しく読まなければなりません、私は初心者です。
詳細を理解するためにメモを取ることをお勧めしますが、gitから始めるのに最適な記事です。
いくつかのことが私にははっきりしていません。
のオプションは何ですか .gitignoreCを追加します練習すれば見えると思いますが、
次のgitcommitの前にgitadd main.cをやり直す必要があるのはなぜですか?add main.cはgitにそのファイルをネットワークバージョンと比較するように指示しますか? 追加されたすべてのファイルを自動的に比較して追跡しませんか?
こんにちはギレルモ🙂あなたの質問に答えるのに役立つと思ったのは良いことです:
.gitignoreは、無視するフォーマットまたはパターンをgitに指示するファイルです。この場合、Cを選択すると、.oファイルや、コンパイル時に生成されるその他のファイルが無視されます。そうしないと、gitがすぐに狂ってしまうためです。各コンパイルとフォローアップの🙂catを実行するか、テキストエディターを使用して、gitがCテンプレートで省略している多数の形式を確認できます。
gitは作業ツリーに追加された各ファイルを追跡しますが、次のコミットに入るファイルを具体的に選択する必要があります。例を挙げると、以前に5つの異なるファイルを変更するように作業したとしましょう。結果を見ることができます。 もう少し具体的にして、それぞれで何が行われるかを説明したい場合は、git addfile1を実行できます。 git commit; git add file2; gitcommit….3,4,5; gitcommit。 このようにして、ストーリーはクリーンになり、変更は明確に定義されます。 また、何かを変更したり、元に戻したり(より高度なトピック)する必要がある場合は、残りを変更せずに、特定のものを元に戻したり、特定のものを追加したりできます。
お役に立てば幸いです🙂ご挨拶とご質問ありがとうございます
PS:git addは、ネットワーク上のバージョンと比較するように言っていませんが、作業ラインの前のコミットと、ローカル(緑)の場合はそれと比較し、リモート(赤)の場合は比較します。他のものと比較してください。 明確にするために😉
完璧です、もちろんそれは明らかにします。