GIT リポジトリ (最新) からクローンを作成しました。この時点で、リポジトリ内の最新のコミットは次のとおりです。a10cb09
次のコマンドを使用してクローンを作成しました (ここで、変数r
= 渡された最初のパラメーター (レポ名 aka 用ansible
) を小さなラッパー スクリプトに設定します)。
git clone git@github.com:mycompany/${r}.git
いくつかの変更を加え、次の簡単な手順を実行しました: (つまり、変更を行い、ファイル/フォルダーを追加し、コミットしてプッシュします)、新しいコミット ハッシュa08c263
(短い) を取得しました。
[arun@ip-10.20.30.33 ~/aks/always-latest-ws-repogroup/ansible] $ git status
On branch master
Your branch is up-to-date with 'origin/master'.
Untracked files:
(use "git add <file>..." to include in what will be committed)
roles/mycompany.mycompany-ansible/
mycompany-ansible.yml
nothing added to commit but untracked files present (use "git add" to track)
[arun@ip-10.20.30.33 ~/aks/always-latest-ws-repogroup/ansible] $
[arun@ip-10.20.30.33 ~/aks/always-latest-ws-repogroup/ansible] $ git add mycompany-ansible.yml roles/mycompany.mycompany-ansible
[arun@ip-10.20.30.33 ~/aks/always-latest-ws-repogroup/ansible] $ git commit -m "mycompany.mycompany-ansible playbook and role" mycompany-ansible.yml roles/mycompany.mycompany-ansible
[master a08c263] mycompany.mycompany-ansible playbook and role
14 files changed, 1771 insertions(+)
create mode 100644 roles/mycompany.mycompany-ansible/README.md
create mode 100644 roles/mycompany.mycompany-ansible/defaults/main.yml
create mode 100644 roles/mycompany.mycompany-ansible/handlers/main.yml
create mode 100644 roles/mycompany.mycompany-ansible/meta/.galaxy_install_info
create mode 100644 roles/mycompany.mycompany-ansible/meta/main.yml
create mode 100644 roles/mycompany.mycompany-ansible/tasks/apt_install.yml
create mode 100644 roles/mycompany.mycompany-ansible/tasks/main.yml
create mode 100644 roles/mycompany.mycompany-ansible/tasks/yum_install.yml
create mode 100644 roles/mycompany.mycompany-ansible/templates/10-statsd.conf.j2
create mode 100644 roles/mycompany.mycompany-ansible/templates/10-mycompany.conf.j2
create mode 100644 roles/mycompany.mycompany-ansible/templates/proxy_auth_credentials.set.j2
create mode 100644 roles/mycompany.mycompany-ansible/templates/telegraf.conf.wfcopy.j2
create mode 100644 roles/mycompany.mycompany-ansible/templates/mycompany-proxy.conf.j2
create mode 100644 mycompany-ansible.yml
[arun@ip-10.20.30.33 ~/aks/always-latest-ws-repogroup/ansible] $
[arun@ip-10.20.30.33 ~/aks/always-latest-ws-repogroup/ansible] $ git push
Counting objects: 21, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (19/19), done.
Writing objects: 100% (21/21), 18.65 KiB | 0 bytes/s, done.
Total 21 (delta 2), reused 0 (delta 0)
remote: Resolving deltas: 100% (2/2), completed with 2 local objects.
To github.com:repogroup/ansible.git
a10cb09..a08c263 master -> master
[arun@ip-10.20.30.33 ~/aks/always-latest-ws-repogroup/ansible] $
[arun@ip-10.20.30.33 ~/aks/always-latest-ws-repogroup/ansible] $ git log -1 --pretty=format:%h
a10cb09
[arun@ip-10.20.30.33 ~/aks/always-latest-ws-repogroup/ansible] $ git rev-parse a08c263
a08c263
fatal: ambiguous argument 'a08c263': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'
最新の変更を確認するために Github リポジトリに行くと、そこにはありません。git log
コミットも表示されません(代わりに、コミット前に一番上にあったコミットハッシュが表示されます)。私は何を取りこぼしたか?
git rev-parse a08c263
(小さなハッシュ)を使用した長いハッシュすら見えないようです。
$ git remote -v
origin git@github.com:mycompany/ansible.git (fetch)
origin git@github.com:mycompany/ansible.git (push)
と
$ git reflog
a10cb09 HEAD@{0}: clone: from git@github.com:mycompany/ansible.git
PS:レポグループの下にある他のリポジトリに対して同じ手順を実行するmycompany
と、それらのすべてのレポは、同様の手順に従うと、githubでコミット/プッシュの変更を正常に取得します。
更新:私のブラウザ ページの 1 つがまだ開いていました。コミット+プッシュを行った後、コミットされた変更を確認できました(a08c263
トップレポレベルでの最新のコミットとしての新しいハッシュ)。それをクリックすると、この添付されたブラウザ ページが開き、FULL ハッシュとフォルダ/ファイルが表示されます。コミットのために開いたブラウザー URL にアクセスすると、それはまだそこにあります (Git は何かを保存しました) が、リポジトリのルート レベルに戻ります。つまりansible
、最新のコミットは私のコミット + プッシュ (新しいハッシュ) ではありませんがa10cb09
、最新のものとしてリストされています1つ(スナップショットごとに、新しく生成されたハッシュの親ハッシュです)。ここを参照してください:
これにより、主な質問がもたらされます。
このブラウザ ページをまだ開いていなかった場合、どのようにして長いハッシュとフォルダ/ファイル (コンテンツ) を取得できたのでしょうか?
Phabricator で実際にホストされている ansible リポジトリの MIRROR である github.com/mycompany/ansible (リポジトリ) からクローンを作成した場合 (実際の元のリポジトリ クローンの URL は、上記の小さなスクリプトで使用したものとは異なります)、では、新しい変更を元の Phabricator
ansible
リポジトリにプッシュするには、どのコマンド/オプションを使用すればよいでしょうか?コミット+プッシュが最後に完了した場合
git log
、他の同様のgit
コマンドが新しいハッシュに対して情報を表示しないのはなぜですか?