请将以下内容用中文翻译,只需要一种选项:从git init到git push的复习
我常用的Git命令(个人观点)。
无论如何,在开始工作之前创建一个分支(尽量避免在主分支上进行开发)。
→ 查看当前分支和其他分支的存在情况
→ 使用命令 git branch <任意的分支名称>
或者
→ 使用命令 git checkout -b <任意的分支名称>
或者
→ 使用命令 git branch <任意的分支名称> origin
• 切换分支
→ git branch(确认当前分支和其他分支的存在)
→ git checkout <要切换的分支名称>
好,就在這個方便的地方保存修改差異(工作)。
→ git add . (将所有的更改从工作目录添加到暂存区)
→ git status (确认状态)
●哎呀,让我们重来吧
→ git reset HEAD (取消git add,回到工作目录状态)
→ git status (确认状态)
因为添加了(暂存)阶段,所以让我们进行提交(保存)。
→ git提交 -m“任意的提交消息”
→ git状态(确认)
→ git展示(确认)按q键退出
●糟糕,让我们重新开始
→ git重置–hard HEAD^
好吧,让我们将其推送到远程分支上吧。
→ git push origin master(本地操作分支名)master(远程目标分支名)
→ git push origin HEAD
在git中保存工作。
创建一个git仓库,并将其推送到github的远程仓库中。
//作業ディレクトリでコマンド実行
%git init
//結果.gitディレクトリ生成 以下OK
Initialized empty Git repository in /Users/user/StaticSiteGeneratorBlog/.git/
//.gitディレクトリ生成を確認
%ls -a
. .. .git BLOG
//gitconfig設定 githubと合わせておく
%git config --global user.name "ユーザーネーム"
%git config --global user.email "githubで使用するメールアドレス"
//git設定の確認
%git config -l
//結果
user.name=***********
user.email=***********@gmail.com
//ssh接続用の公開鍵、秘密鍵生成コマンド
%ssh-keygen -t rsa
//Enterキーを押します* 3
//.sshディレクトリに鍵が生成できているか確認
//移動
%cd ~/.ssh/ (←/Users/user配下の隠しディレクトリ.ssh)
//隠しファイルも表示
%ls -a
//結果
id_rsa (←秘密鍵)
id_rsa.pub (←公開鍵・これをGithub側に登録する)
//githubに公開鍵をコピペする
//catコマンドで公開鍵を見る
%cat id_rsa (.sshディレクトリ以外から実行する場合 cat ~/.ssh/id_rsa)
//なが〜い公開鍵暗号テキストをコピーしておく
ssh-rsa *****........
//github に移動
URL: github.com/setting/keys
github>setting>SSH and GCP keys>New SSH keyボタンを押す
titleを入力する
keyに公開鍵をペーストする
>Add SSH keyボタンを押す
//ローカルとgithub(リモート)の疎通を確認するコマンド
%ssh -T git@github.com
//結果
Hi ************! You've successfully authenticated, but GitHub does not provide shell access.
创建远程代码库
在Github浏览器上,点击我的个人页面上方的存储库按钮,再点击右上方的新建按钮。
//リモートリポジトリのURLを追加 "origin"にリポジトリ先を登録する
//URLはブラウザからコピーして、新しく作りたいリモートリポジトリ名"ssg_blog"を書き足す
Blog%git remote add origin https://github.com/**********/Hugo-Blog
//リモート確認
Blog%git remote
//結果
origin
//リモートoriginの設定状態
Blog%git remote -v
//結果
origin https://github.com/**********/Hugo-Blog (fetch)
origin https://github.com/**********/Hugo-Blog (push)
将本地的工作差异提交至(直到推送前)
//ローカルの作業状況確認
//作業ディレクトリで
Blog%git status
//結果
On branch master
No commits yet
Untracked files:
(use "git add <file>..." to include in what will be committed)
archetypes/
config.toml
nothing added to commit but untracked files present (use "git add" to track)
ーーー翻訳ーーー
ブランチマスターについて
まだコミットはありません
追跡されていないファイル:
(「gitadd <file> ...」を使用して、コミットされる内容に含めます)
archetypes/
config.toml
コミットに何も追加されていませんが、追跡されていないファイルが存在します(追跡するには「gitadd」を使用してください)
//BLOGというディレクトリ作成状況がワーキングツリーにあるので git add でステージングします
Blog%git add /Users/user/StaticSiteGeneratorBlog/BLOG
Blog%git status
//結果
On branch master
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: archetypes/default.md
new file: config.toml
ーーー翻訳ーーー
ブランチマスターについて
まだコミットはありません
コミットする変更:
(「gitrm --cached <file> ...」を使用してステージングを解除します)
新しいファイル:archetypes / default.md
新しいファイル:config.toml
//ステージングからローカルリポジトリにコミットする
//コミットメッセージ付きでコミットする
Blog%git commit -m "hugo new site Blogしたところまで"
//結果
[master (root-commit) 7c66fd3] hugo new site Blogしたところまで
2 files changed, 9 insertions(+)
create mode 100644 archetypes/default.md
create mode 100644 config.toml
//確認
%git status
//結果
On branch master
nothing to commit, working tree clean //OK
//コミットできたか
%git show
//結果
commit 7c66fd3440a2db1c404de664254b0c634b88f7a9 (HEAD -> master)
Author: Sakagami-Keisuke <iwayasunset@gmail.com>
Date: Sun Jan 3 15:22:15 2021 +0900
hugo new site Blogしたところまで
...........OK
将代码推送到远程仓库。
这次不创建工作分支,直接将本地master分支推送到远程master分支。
//ローカルブランチ名確認
%git branch
//結果
* master (←作業ブランチつくらなかったのでmaster)
//リモートリポジトリ(ssg_blog)のmasterブランチにPUSH
//origin=https://github.com/**********/ssg_blog (push)
%git push origin master:master
宛先 ローカル:リモート
//結果OK
Enumerating objects: 5, done.
Counting objects: 100% (5/5), done.
Delta compression using up to 4 threads
Compressing objects: 100% (4/4), done.
Writing objects: 100% (5/5), 501 bytes | 501.00 KiB/s, done.
Total 5 (delta 0), reused 0 (delta 0)
To https://github.com/Sakagami-Keisuke/HugoBlog.git
* [new branch] master -> master
下面的推送
%git push origin HEAD or %git push origin master
//結果
Everything up-to-date