あなたはGitで喫煙しています、

ゲームが始まる前に、私はあなたにメッセージを送ります:あなたが新しい技術を学びたいなら、あなたが本を読みたいなら、あなたが大学生なら、>>> ...、なぜですか?あなたは自分自身に尋ねましたか? ?真面目じゃないと言ってみませんか?

15歳で学校を中退し、27歳でインターネットカフェのネットワーク管理者として働いていました。27歳でブラインドデートであなたが好きでした。彼女が私に何を言ったかわからないように、私はあなたが好きです。 。30歳の時、子供ができて両親の苦労を経験しました。あえて休みを取らず、頑張って、病気の時は頑張っても、70歳で頑張った両親が恋しいです。 、よく振り返ります、孫に溺愛します、そして彼があなたが歩いた道を行くのではないかと心配しています、一目で死を見るそのような人生それは私たちが望むものではありません...向かい風の大きな木に浸かった赤い旗、長津湖を見た後、あなたは何と呼ばれるかを理解するでしょう...忍耐力

自分の集中力を養い、30分間動かずに見つめ、考えに追いつき、立ち往生して持ちこたえられないと感じたら、目を閉じて、今考えてみてください。2061年9月です。あなたは780歳です。古い、空の部屋で、肥大化していて、お金も力もなく、自分の世話をすることができません。このとき、あなたは神に願い事をして言った、あなたは時間を戻すことができますか?神はそう言った、それであなたは目を開けました2021年9月に戻って、あなたは今度は一生懸命働くつもりはありませんか?

前任者の言葉を心に留め、誰かのアドバイスを謙虚に受け入れますが、完璧な人は誰もいません。常に欠陥があり、あなた自身の論理的思考を要約します!彼が言って話したピットの少なくとも98%を覚えておいてください、あなたはまだ学ぶことができませんか?私は先輩ではなく、教師は言うまでもありません!私はフロントエンドプログラマーです。私は優れたDaquanスタックになろうとしていますが、これは決して達成できないかもしれませんが、私は諦めない、夢も目標もない、理想についてブーイングと話しますか、彼はあなたにインスピレーションを与えるために何を使用しますか?

さて、gitを記録して、もう一度使用しましょう。いくつかのコマンドページが忘れられています。自分で見て、共有することができます。

世界には夢と呼ばれる長くて美しい道があります 

ワークスペース->ステージングエリア->ローカルウェアハウス->リモートウェアハウス

このワークフローは、2つの軍隊間の対立のようなものであり、火の交換が自分の城で行われることは絶対にありません。最初に、司令官は準備のために兵士をウェンシティに送ります。

同じことが敵にも当てはまり、最終的に戦場エリアで戦い、

この瞬間、私は詩を歌いたい

戦場で真っ向から戦って、真実を見せたくなかった、あなたと私は兄弟だった、もう関与しないでね、いい?

確かに違います。

 おそらく写真やテキストの意味を読んだ後、このワークフローが非常に重要であることを理解する必要があります!!!はい、それは非常に重要です、私たちの仕事では、gitまたはsvnは必須です、gitをお勧めします、それは何である可能性がありますか開発のためにネットワークから切断されました。配布バージョン管理ツールであるGitは、バージョン管理制御システム(略してVCS)であり、ドキュメントの状態をいつでも更新レコードとして保存したり、で更新レコードを復元したりできます。任意の時点。svnは一元化されたバージョンステータス管理ツールです


gitとsvnの違い

  ギット

         1. gitはscmに分散され、svnは集中化されます。(ほとんどのコア)

         2. gitは簡単に回復できるように各履歴バージョンの完全なファイルを保存し、svnは差分ファイルを保存します。履歴バージョンは回復できません。(芯)

         3.ほとんどの操作は、gitによってオフラインで実行できますが、svnでは実行できません。

         4. gitには、分岐とマージのより洗練された実装があります。

        5. Gitには、変更を元に戻したり、履歴バージョンを変更したりするための強力な機能があります

        6.gitはより高速で効率的です。

        7. Gitブランチは安価で、SVNブランチは高価であり、Gitブランチはコミットへのポインターであり、SVNブランチはコピーされたディレクトリです。この機能により、Gitブランチの切り替えが非常に高速になり、作成が非常に安価になります。

また、Gitにはローカルブランチがあり、SVNにはローカルブランチがありません。実際の開発プロセスでは、一部のコードが完成していないことがよくありますが、他の問題に早急に対処する必要があります。Gitを使用すると、一時的な変更をgit stashに保存し、一時的に記述されたコードを保存できます。 gitstashpopを使用して元に戻すことができます。

上記の違いに基づいて、gitには明らかな利点があります。特にローカルリポジトリにあります。
 

 svn

  • ファイルを保存するための集中管理用のサーバーがあります。共同開発者は、共同開発(更新、送信)のためにクライアントを介してこのサーバーに接続する必要があります。

 Subversionの機能

      使いやすさの点では、SVNははるかに優れており、使いやすく、初心者にも優しいものになります。しかし一方で、Gitコマンドはより多くの機能を意味します。Gitのほとんどの機能を習得し、謎を理解できれば、SVNの時代に戻ることはできません。


gitコマンド

1 git init 初始化git仓库 (mac中Command+Shift+. 可以显示隐藏文件)

如果初始化之后看不到.git 文件夹则可以通过 ls -ah查看 
也可以通过命令 attrib -r -h .git 将隐藏的.git文件显示出来
2 git status 查看文件状态
3 git commit -m "对本次修改的具体描述"

アクションを表示

1 gitログ ログを照会するコマンド
2 git log --pretty = oneline 美化されたログ形式のコマンドログが1行に表示されます
3 git reflog 以前のすべてのログを表示します。たとえば、ログを閉じて明日再開します

分岐操作

注:切り替えブランチは、最初にステージング領域に送信する必要があります。送信しないと、切り替えは通過しません。

1 gitブランチ ローカルブランチを表示
2 git branch -r リモートブランチを表示する
3 gitブランチ-a すべてのブランチを表示(ローカル+リモート)
4 gitブランチブランチ名 ブランチの作成(ローカル)
5 git checkout branchname スイッチブランチ(ローカル)
6 git checkout -b branchname ブランチの作成と切り替え(ローカル)
7 git branch -d branchname ローカルブランチを削除します(現在このブランチにいる場合は、最初に他のブランチに切り替えてから、ブランチを削除する必要があることに注意してください)
8 gitbranch-Dブランチ名 ローカルブランチを強制的に削除します(git branch -dを使用してレポートを削除する場合:ブランチXXXが完全にマージされていない(ブランチにマージされていない変更がある場合)、ブランチを強制的に削除する必要があります)

アクションをコミットする

@風と波の中で生きる[email protected]

1 gitadd<ファイル> 別の書類を提出する
2 gitadd。 ステージング領域にすべての変更を追加します
3 git commit -m "commit msg" 情報の説明を送信する

取り消す

1 gitresetHEADファイル  ステージングエリアから撤退し、git addを実行します。この操作の後、後悔しており、この操作前の状態に戻したいと思います。
2 gitcheckout--ファイル 実行不可能なワークスペースファイルの変更
3 git reset --hard HEAD ^     [前のバージョンに戻る]前のバージョンに戻る
4 git reset --hard HEAD ^^    [最後の2つのバージョンに戻る(など)]
5 git reset --hard HEAD〜2    [最後の2つのバージョンに戻る(など)]
6 git reset --hard id  ローカル倉庫が提出され、ステージングエリアに撤回されました[IDに従って特定のバージョンを撤回]
7 git push origin test --force リモートリポジトリからコミットを撤回する

失効の2つのケース

 gitログクエリは、いくつかのコミットがあり、コミットIDが近くから遠く(id4、id3、id2、id1)であることを示し、次にgit reset--hard<id2>を使用してバージョンを次のバージョンにロールバックします。 id id2をコミットすると、突然後悔し、id3またはid4バージョンに戻りたい

2つのケースがあります:

(1)id3またはid4の変更がリモートにプッシュされました

この場合、端末が閉じていても、リモートウェアハウスからid3とid4のコミットIDを見つけることができ、git reset --hard <id3/id4>を直接実行できます。

(2)id3またはid4の変更はリモートにプッシュされません

この場合、以前にgit logを実行したことがある(そしてターミナルが閉じられていない)場合、ターミナルにはid3とid4のコミットIDレコードがあります。それを見つけたら、git reset --hard <id3/id4>を実行します。しかし、以前にgit logが実行されたことがない場合、git reset --hard <id2>が実行されるため、id3とid4のコミットIDがgit logから見つからないので、どうすればよいですか?Gitは、以前に実行されたコマンドを照会するためのgitreflogを提供します。

gitをダウンロード、

ステップ1:gitツールをダウンロードしてgit downloadし、インストールするのに適したバージョンを選択します。

ステップ2:インストールが完了したら、右クリックしてGit bashを見つけ、ダブルクリックして開きます。

複数人の共同開発

1.まず、リモートリポジトリ(github、gitee、または独自のリモートサーバー)に新しいプロジェクトを作成する必要があります。この新しいプロジェクトには、デフォルトでメインブランチ マスターがあります。次に、新しいdev ブランチ、このdevを作成する必要があります。 ブランチこれはいわゆるメインの戦場です。将来の開発では、この開発者と開発者の下のブランチで開発が行われます。

2.次に、gitコマンドgitcloneを使用て空のフォルダーに移動します

3.複製されたプロジェクトは、リモートで作成したプロジェクトのミラーと同等です。したがって、ローカルプロジェクトにもdevブランチと、もちろんmasterブランチがあり、devブランチに切り替えます 。gitcheckout dev

4.これで、このdevブランチに独自のブランチを作成し、楽しく開発できます。コマンド git checkout -b dev1

5.複数の人が開発しているため、別の人も同じ方法で新しいブランチdev2 コマンドgit checkout -b dev2を作成できます(手順2、3、および4の後)。

6. dev1またはdev2の開発が完了したら、それをローカルウェアハウスに送信し、dev1ブランチでコマンドgitadd。およびgitcommit -a-m'commitmsg'を使用する必要があります。

7.送信後、devブランチに集約し、最初にdevブランチに切り替えて、git checkout devをコマンドする必要があります。現時点では、dev1で変更または追加したものはなく、マージ;

8.コマンドgitmergedev1を使用してdevブランチ にマージします

これで、devブランチの下のdev1ブランチの下で変更したものを確認できます。

9.送信がdevブランチにマージされた後、リモートウェアハウスのdevブランチに送信されます。最初に、現在どのブランチがあるかを確認できます。コマンド git branch -a

10.リモート開発コマンドに送信しますgitpushorigin  dev

11.これで、リモートウェアハウスのdevブランチに最新のコードが追加されました。最後に、リモートdevブランチをリモートマスターマスターブランチにマージします。一般に、メインブランチは主に比較的安定したバージョンを格納し、devブランチが最もアクティブです。

 

グラフィックケース


http

httpsはユーザー名とパスワードを入力する必要がありますURLはhttpsで始まりますssh構成公開鍵はgit@githubで始まるURLを必要としません

紛争の概念

もちろん、親ブランチが子ブランチをマージするときに、AB子ブランチが同時に変更された場合、同じ場所でgitは競合を促します。目的の効果を得るには、この動作を手動で解決する必要があります。

変更を一時的にローカルウェアハウスに保存することはお勧めしません。そのため、変更を一時的に保存する必要があります。

一時的な変更の保存はこのように理解できます。緊急のジョブがある場合は、最初に一時的に保存して緊急の作業を行うことができます。gitstashは一時的な変更を保存して、一時的に記述されたコードを保存できます。緊急の作業が終了したら、次を使用できます。 git stash popを復元します。変更、


プッシュ方式

最初のタイプ:
gitpush'リモートアドレス'ブランチ名
//リモートウェアハウスにプッシュできません。リモートウェアハウスには他の人のものがあります
。gitpull'リモートウェアハウス'をプッシュする前にブランチ名をプルする必要があります。

2番目のプッシュ方法を使用し
ます。1。リモートウェアハウスにコンテンツがある場合は、最初に最新のコードをプルする必要があります git pull'remote address' master || main  //githubでウェアハウスをオンラインで構築するデフォルトはメインメインブランチ
2です。Push gitpush ''
.エイリアス gitremoteaddorigin'リモートウェアハウス'         //リモートアドレスをorigin3.1に割り当てると理解できますエラーが報告された場合
remoteoriginはすでにorigin//言いますすでにキャッシュがあります
注:リモートウェアハウスのアドレスとその他の情報をクリアするには、gitを使用します
git remote rm origin
git remote add origin'remote address'
4. push git push -u origin master again //-u push address and branch 、次にgit pushで直接プッシュするときは、毎回リモートアドレスをプッシュする必要はありません。入力するたびにリモートアドレスをプッシュする必要はありません。ブランチを指定する必要はありません。-uはプッシュアドレスとブランチを記憶する必要があります。

 ウェアハウス
のクローンを作成するリモートデータウェアハウスをローカルにクローンします:git clone Warehouse address
リモートウェアハウスの最新バージョンをプルします:git pull remote Warehouse address branch name
 


グループリーダーは、2つの方法でグループメンバーを追加できます

他の人を現在のプロジェクトの開発者に招待します。他の人は、クローン権限しか持たず、プッシュできない開発者ではなく、コードをパブリックリポジトリにプッシュできます。


最初:

githubリポジトリに入る--->設定---->アクセスの管理----->パスワードを初めて追加するときに入力ボックスがポップアップします------>共同編集者を招待します(のgithubアカウントを入力してください招待したBプログラマー)---->招待状を送信------>プログラマーBはメールボックスにログインして招待状を受け入れます------プログラムBはコードをウェアハウスにプッシュできます

二番目:

グループメンバーの公開鍵をグループリーダーの公開鍵に追加します


node_modulesがプッシュされていない場合は、マニフェストを無視します

.gitignoreファイルを作成します

  1. プロジェクトファイルをクリックし、右クリックして[Git Bash]を選択してコマンドラインに入り、touch .gitignoreと入力して、.gitignoreファイルを生成します。
  2. 無視するファイルとそのファイルを、生成された.gitignoreファイルに入力します。

構成ルール:


ディレクトリを示すにはスラッシュ「/」で開始し、
複数の文字に一致させるにはアスタリスク「*」を
使用します。単一の文字に一致させるには疑問符「?」を
使用します。単一文字の一致を含めるには角かっこ「[]」を使用します。リスト;
感嘆符「!」で始まるは、一致するファイルまたはディレクトリを無視(追跡)しないことを意味します。
.ignore構成ファイルの場合、gitはルールを上から下に1行ずつ一致させます。つまり、前のルールがより広い範囲に一致する場合、後者のルールは有効になりません。
 

# dependencies  npm包文件
/node_modules/

# 过滤所有.zip文件
*.zip

# 过滤某个具体文件
/cc/a.css

# production  打包文件
/build/

更新中...

おすすめ

転載: blog.csdn.net/m0_57904695/article/details/122140794