先週使用したすべてのGitコマンドとその機能は次のとおりです。

ほとんどの初心者と同じように、私はStackOverflowでGitコマンドを検索し、次に回答をコピーして貼り付けましたが、実際には何をしているかを理解していませんでした。

私は考えたことを覚えています、「最も一般的なGitコマンドのリストと、それらがなぜ役立つのかについての説明があれば素晴らしいと思いませんか?」

さて、ここで私は数年後にそのようなリストを編集し、中級から上級の開発者でさえ役立つと思われるいくつかのベストプラクティスを提示します。

実用性を保つために、このリストは、過去1週間に使用した実際のGitコマンドに基づいています。

ほとんどすべての開発者がGitを使用しており、おそらくGitHubを使用しています。しかし、平均的な開発者はおそらく次の3つのコマンドを99%しか使用していません。

git add --allgit commit -am ""git push origin master

一人のチーム、ハッカソン、または使い捨てアプリで作業しているときは、それはすべてうまくいきますが、安定性とメンテナンスが優先され始めたときは、コミットをクリーンアップし、分岐戦略に固執し、書き込みますコヒーレントなコミットメッセージが重要になります。

初心者がGitで何ができるかを理解しやすくするために一般的に使用されるコマンドのリストから始めて、より高度な機能とベストプラクティスに移ります。

定期的に使用されるコマンド

リポジトリ(リポジトリ)でGitを初期化するには、次のコマンドを入力するだけです。Gitを初期化しない場合、そのリポジトリ内で他のGitコマンドを実行することはできません。

git init

GitHubを使用していて、オンラインで保存されているGitHubリポジトリにコードをプッシュしている場合は、リモートリポジトリを使用しています。そのリモートリポジトリのデフォルト名(エイリアスとも呼ばれます)はoriginです。Githubからプロジェクトをコピーした場合、そのプロジェクトにはすでにオリジンがあります。コマンドgitremote -vを使用してそのオリジンを表示できます。このコマンドは、リモートリポジトリのURLを一覧表示します。

独自のGitリポジトリを初期化し、それをGitHubリポジトリに関連付けたい場合は、GitHubでリポジトリを作成し、提供されたURLをコピーして、コマンドgit remote addoriginを使用する必要があります。RL>、「」の代わりにGitHubから提供されたURL。そこから、リモートリポジトリに追加、コミット、およびプッシュできます。

最後のものは、リモートリポジトリを変更する必要がある場合に使用されます。他の誰かからリポジトリをコピーし、リモートリポジトリを元の所有者のものから自分のGitHubアカウントに変更したいとします。リモートリポジトリを変更する代わりにset-urlを使用することを除いて、git remote addoriginと同じプロセスに従います。

git remote -vgit remote add origin git remote set-url origin 

リポジトリをコピーする最も一般的な方法は、git cloneを使用しその後にリポジトリのURLを使用することです。

リモートリポジトリは、リポジトリのクローンを作成したアカウントにリンクされることに注意してください。したがって、他の誰かに属するリポジトリのクローンを作成した場合、上記のコマンドを使用してオリジンを変更するまで、GitHubにプッシュすることはできません。

git clone 

ブランチを使用していることにすぐに気付くでしょう。ブランチが何であるかを理解していない場合は、はるかに詳細な他のチュートリアルがあります。続行する前にそれらを読む必要があります(これが1つです)。

コマンドgitbranchは、ローカルマシン上のすべてのブランチを一覧表示します。新しいブランチを作成したい場合は、gitブランチを使用できますme>、 lt; name>は、「master」などのブランチの名前を表します。

gitのチェックアウトme>コマンドは既存のブランチに切り替わります。あなたはまた、私たちがすることができますgitのチェックアウト-b&E LTを、名>コマンド新しいブランチを作成して、すぐに切り替えます。ほとんどの人は、個別のブランチコマンドとチェックアウトコマンドの代わりにこれを使用します。

git branchgit branch git checkout git checkout -b 

ブランチに多数の変更を加えた場合、それを「開発」と呼びましょう。そのブランチをマスターブランチにマージして戻す場合は、gitmergeを使用します。

ch>コマンド。あなたはWAよCHにNT masterブランチ、eckout n個の実行gitのマージさd masterブランチにマージする開発evelopを。

git merge 

複数の人と作業している場合は、GitHubでリポジトリが更新された位置にいることに気付くでしょうが、ローカルでの変更はありません。その場合は、git pulloriginを使用できます

ch>は、そのリモートブランチから最新の変更をプルします。

git pull origin 

If you’re curious to see what files have been changed and what’s being tracked, you can use git status. If you want to see how much each file has been changed, you can use git diff to see the number of lines changed in each file.

git statusgit diff --stat

Advanced commands and best practices

Soon you reach a point where you want your commits to look nice and stay consistent. You might also have to fiddle around with your commit history to make your commits easier to comprehend or to revert an accidental breaking change.

The git log command lets you see the commit history. You’ll want to use this to see the history of your commits.

Your commits will come with messages and a hash, which is random series of numbers and letters. An example hash might look like this: c3d882aa1aa4e3d5f18b3890132670fbeac912f7

git log

Let’s say you pushed something that broke your app. Rather than fix it and push something new, you’d rather just go back one commit and try again.

If you want to go back in time and checkout your app from a previous commit, you can do this directly by using the hash as the branch name. This will detach your app from the current version (because you’re editing a historical record, rather than the current version).

git checkout c3d88eaa1aa4e4d5f

Then, if you make changes from that historical branch and you want to push again, you’d have to do a force push.

Caution: Force pushingis dangerous and should only be done if you absolutely must. It will overwrite the history of your app and you will lose whatever came after.

git push -f origin master

Other times it’s just not practical to keep everything in one commit. Perhaps you want to save your progress before trying something potentially risky, or perhaps you made a mistake and want to spare yourself the embarrassment of having an error in your version history. For that, we have git rebase.

Let’s say you have 4 commits in your local history (not pushed to GitHub) in which you’ve gone back and forth. Your commits look sloppy and indecisive. You can use rebase to combine all of those commits into a single, concise commit.

git rebase -i HEAD~4

The above command will open up your computer’s default editor (which is Vim unless you’ve set it to something else), with several options for how you can change your commits. It will look something like the code below:

pick 130deo9 oldest commit messagepick 4209fei second oldest commit messagepick 4390gne third oldest commit messagepick bmo0dne newest commit message

In order to combine these, we need to change the “pick” option to “fixup” (as the documentation below the code says) to meld the commits and discard the commit messages. Note that in vim, you need to press “a” or “i” to be able to edit the text, and to save and exit, you need to type the escape key followed by “shift + z + z”. Don’t ask me why, it just is.

pick 130deo9 oldest commit messagefixup 4209fei second oldest commit messagefixup 4390gne third oldest commit messagefixup bmo0dne newest commit message

This will merge all of your commits into the commit with the message “oldest commit message”.

The next step is to rename your commit message. This is entirely a matter of opinion, but so long as you follow a consistent pattern, anything you do is fine. I recommend using the commit guidelines put out by Google for Angular.js.

In order to change the commit message, use the amend flag.

git commit --amend

This will also open vim, and the text editing and saving rules are the same as above. To give an example of a good commit message, here’s one following the rules from the guideline:

feat: add stripe checkout button to payments page
- add stripe checkout button- write tests for checkout

One advantage to keeping with the types listed in the guideline is that it makes writing change logs easier. You can also include information in the footer (again, specified in the guideline) that references issues.

Note: you should avoid rebasing and squashing your commits if you are collaborating on a project, and have code pushed to GitHub. If you start changing version history under people’s noses, you could end up making everyone’s lives more difficult with bugs that are difficult to track.

There are an almost endless number of possible commands with Git, but these commands are probably the only ones you’ll need to know for your first few years of programming.

Sam Corcos is the lead developer and co-founder of Sightline Maps, the most intuitive platform for 3D printing topographical maps, as well as LearnPhoenix.io, an intermediate-advanced tutorial site for building scalable production apps with Phoenix and React.

Original text