mirror of
https://github.com/jbranchaud/til
synced 2026-01-21 07:58:02 +00:00
Compare commits
1 Commits
f538f3a7ab
...
273c35318d
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
273c35318d |
@@ -10,7 +10,7 @@ pairing with smart people at Hashrocket.
|
|||||||
|
|
||||||
For a steady stream of TILs, [sign up for my newsletter](https://crafty-builder-6996.ck.page/e169c61186).
|
For a steady stream of TILs, [sign up for my newsletter](https://crafty-builder-6996.ck.page/e169c61186).
|
||||||
|
|
||||||
_1519 TILs and counting..._
|
_1518 TILs and counting..._
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -41,7 +41,6 @@ _1519 TILs and counting..._
|
|||||||
* [Internet](#internet)
|
* [Internet](#internet)
|
||||||
* [Java](#java)
|
* [Java](#java)
|
||||||
* [JavaScript](#javascript)
|
* [JavaScript](#javascript)
|
||||||
* [jj](#jj)
|
|
||||||
* [jq](#jq)
|
* [jq](#jq)
|
||||||
* [Kitty](#kitty)
|
* [Kitty](#kitty)
|
||||||
* [Linux](#linux)
|
* [Linux](#linux)
|
||||||
@@ -570,10 +569,6 @@ _1519 TILs and counting..._
|
|||||||
- [Yarn Commands Without The Emojis](javascript/yarn-commands-without-the-emojis.md)
|
- [Yarn Commands Without The Emojis](javascript/yarn-commands-without-the-emojis.md)
|
||||||
- [Yup Schemas Are Validated Asynchronously](javascript/yup-schemas-are-validated-asynchronously.md)
|
- [Yup Schemas Are Validated Asynchronously](javascript/yup-schemas-are-validated-asynchronously.md)
|
||||||
|
|
||||||
### jj
|
|
||||||
|
|
||||||
- [Colocate jj And git Directories For Project](jj/colocate-jj-and-git-directories-for-project.md)
|
|
||||||
|
|
||||||
### jq
|
### jq
|
||||||
|
|
||||||
- [Combine An Array Of Objects Into A Single Object](jq/combine-an-array-of-objects-into-a-single-object.md)
|
- [Combine An Array Of Objects Into A Single Object](jq/combine-an-array-of-objects-into-a-single-object.md)
|
||||||
|
|||||||
@@ -1,59 +0,0 @@
|
|||||||
# Colocate jj And git Directories For Project
|
|
||||||
|
|
||||||
When doing a standard clone of a git repository with `jj`, you'll get a copy of
|
|
||||||
the project with a `.jj` directory containing the version control information.
|
|
||||||
|
|
||||||
```bash
|
|
||||||
$ jj git clone git@github.com:jbranchaud/my-repo
|
|
||||||
Fetching into new repo in "/path/of/local/repo"
|
|
||||||
...
|
|
||||||
|
|
||||||
$ exa --tree --all -L 1
|
|
||||||
.
|
|
||||||
├── .gitignore
|
|
||||||
├── .jj
|
|
||||||
├── Cargo.lock
|
|
||||||
├── Cargo.toml
|
|
||||||
└── src
|
|
||||||
```
|
|
||||||
|
|
||||||
This is fine if I'm completely familiar with using
|
|
||||||
[jujutsu](https://martinvonz.github.io/jj/latest/). However, if I'm coming from
|
|
||||||
`git` and still learning, then it would be nice to be able to fallback to
|
|
||||||
familiar `git` commands when needed.
|
|
||||||
|
|
||||||
But without a `.git` directory, I get this:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
$ git log
|
|
||||||
fatal: not a git repository (or any of the parent directories): .git
|
|
||||||
```
|
|
||||||
|
|
||||||
When cloning a git repo with `jj`, I can instruct it to _colocate_ which means
|
|
||||||
that it will create both the `.jj` and the `.git` data directories in the
|
|
||||||
project.
|
|
||||||
|
|
||||||
```bash
|
|
||||||
$ jj git clone --colocate git@github.com:jbranchaud/my-repo
|
|
||||||
Fetching into new repo in "/path/of/local/repo"
|
|
||||||
...
|
|
||||||
|
|
||||||
$ exa --tree --all -L 1
|
|
||||||
.
|
|
||||||
├── .git
|
|
||||||
├── .gitignore
|
|
||||||
├── .jj
|
|
||||||
├── Cargo.lock
|
|
||||||
├── Cargo.toml
|
|
||||||
└── src
|
|
||||||
```
|
|
||||||
|
|
||||||
Now I can run `jj` commands or `git` commands:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
$ git log
|
|
||||||
commit 0c72abbb83657096677f9a3d5ddc7bce20839165 (HEAD, origin/trunk, trunk)
|
|
||||||
...
|
|
||||||
```
|
|
||||||
|
|
||||||
[source](https://martinvonz.github.io/jj/latest/git-compatibility/#co-located-jujutsugit-repos)
|
|
||||||
Reference in New Issue
Block a user