%load_ext jupyter_tikz
preamble = r"""
\usepackage{kotex}
\usepackage{tikz}
\usetikzlibrary{shapes.misc}
\usetikzlibrary{arrows.meta}
\setmainfont{Noto Sans KR}
"""
%%tikz -pt -e -tp xelatex -p "$preamble" -r -d 300 -S fig_basic_01
\begin{tikzpicture}
  \begin{scope}[every node/.style=draw, minimum width=4cm, minimum height=3cm]
  \node (worktree)         at (0,1) {};
  \node (stage)            at (5,1) {};
  \node (repository)       at (10,1) {};
  \end{scope}
  \node (worktree-label)   at (0,3) {워크트리};
  \node (stage-label)      at (5,3) {스테이지};
  \node (repository-label) at (10,3) {레포지토리};
\end{tikzpicture}
\documentclass{standalone}
\usepackage{kotex}
\usepackage{tikz}
\usetikzlibrary{shapes.misc}
\usetikzlibrary{arrows.meta}
\setmainfont{Noto Sans KR}
\begin{document}
    \begin{tikzpicture}
      \begin{scope}[every node/.style=draw, minimum width=4cm, minimum height=3cm]
      \node (worktree)         at (0,1) {};
      \node (stage)            at (5,1) {};
      \node (repository)       at (10,1) {};
      \end{scope}
      \node (worktree-label)   at (0,3) {워크트리};
      \node (stage-label)      at (5,3) {스테이지};
      \node (repository-label) at (10,3) {레포지토리};
    \end{tikzpicture}
\end{document}

style_git_commit = r"""
    draw=black!60,
    fill=green!40!lightgray,
    minimum width=2cm,
    minimum height=1cm,
    rounded rectangle,
    line width=2pt
"""
style_git_pointer = r"""
    draw=black!60,
    -Triangle,
    line width=2pt
"""
%%tikz -pt -e -tp xelatex -p "$preamble" -r -d 300 -S fig_log_01
\begin{tikzpicture}
\begin{scope}[
    every node/.style={(* style_git_commit *)},
    every path/.style={(* style_git_pointer *)}
]
\node (c1) at (0,0) {c1};
\node (c2) at (3,0) {c2}; \path (c2) edge (c1);
\node (c3) at (6,0) {c3}; \path (c3) edge (c2);
\end{scope}
\node at (0,2) {file1.txt 추가};
\node at (3,2) {file1.txt 변경};
\node at (3,1.5) {file2.txt 추가};
\node at (6,2) {(file1.txt 삭제)};
\node at (6,1) {file3.txt 추가};
\end{tikzpicture}
\documentclass{standalone}
\usepackage{kotex}
\usepackage{tikz}
\usetikzlibrary{shapes.misc}
\usetikzlibrary{arrows.meta}
\setmainfont{Noto Sans KR}
\begin{document}
    \begin{tikzpicture}
    \begin{scope}[
        every node/.style={
        draw=black!60,
        fill=green!40!lightgray,
        minimum width=2cm,
        minimum height=1cm,
        rounded rectangle,
        line width=2pt
    },
        every path/.style={
        draw=black!60,
        -Triangle,
        line width=2pt
    }
    ]
    \node (c1) at (0,0) {c1};
    \node (c2) at (3,0) {c2}; \path (c2) edge (c1);
    \node (c3) at (6,0) {c3}; \path (c3) edge (c2);
    \end{scope}
    \node at (0,2) {file1.txt 추가};
    \node at (3,2) {file1.txt 변경};
    \node at (3,1.5) {file2.txt 추가};
    \node at (6,2) {(file1.txt 삭제)};
    \node at (6,1) {file3.txt 추가};
    \end{tikzpicture}
\end{document}