私は、異なるプロジェクトの出発点としてレポを使用しようとしています。gitエイリアスは、プロジェクトにcdする前にクローンが終了するのを待っていませんか?
私はここで、この要旨従っていた:https://gist.github.com/mdentinho/6258238
、私はこのようになりますエイリアス作成した要旨を開始:
boilerplate-website = !git clone -o website-boilderplate https://[email protected]/user/website-boilderplate.git "$1" && cd "$1" && rm readme.md && touch readme.md && rm -rf .git && git init && git add -A && git commit -m 'First Commit'
しかし、CDの一部が動作していないように見えるが、私はまだディレクトリにいるので、私は新しく複製されたディレクトリの中ではなくコマンドを実行します。
また、このため、このエラーが発生し、エイリアスがすべてのコマンド(クローンとそれだけです)を完了するわけではありません。
Cloning into 'test2'...
remote: Counting objects: 19, done.
remote: Compressing objects: 100% (18/18), done.
Unpacking objects: 100% (19/19), done.
remote: Total 19 (delta 1), reused 0 (delta 0)
rm: readme.md: No such file or directory
なぜクローンが終了するのを待っていないのですか?私は定期的にユーザーをしました
git clone {repo} {folder name} && cd {folder name}
これは問題ありません。
、cd
はcd
コマンドを実行するシェルに影響
'cd'は新しく生成されたシェルに影響するはずですが、コマンドを実行するシェルには影響しません。 – PetSerAl
エイリアスから得ようとしていることを達成する方法はありますか? – Nick
唯一の方法は、現在のシェルに現在のディレクトリパスを戻し、現在のシェルで 'cd'を返すことです。 'boilerplate'が' pwd'を呼び出して終了し、現在のパスをエコーする 'cd $(git boilerplate)" 'のようなものです。 – phd