极简 git 步骤: Difference between revisions

From 清冽之泉
Jump to navigation Jump to search
Created page with "== 本地 == # cd sth # git init # git status # 写 .gitignore # git add . # git status # git diff --staged ;; commit 前先检查一下 # git commit -m "本次干了什么,下一步干什么" == 远程 == # git config --global user.name "你的名字" # git config --global user.email "你的邮箱" # git config --global --list # git remote add origin somewhere.git ;; origin 只是个昵称 # git remote -v # git branch -M main # git push -u origin main ;; u 表示 mai..."
 
No edit summary
 
Line 21: Line 21:


项目要么生在本地,要么生在远程。本地已有,则远程建空仓,不要选创建 README.md License。远程已有,则本地直接 git clone。
项目要么生在本地,要么生在远程。本地已有,则远程建空仓,不要选创建 README.md License。远程已有,则本地直接 git clone。
== 查看 ==
# git log --oneline
# git diff
# git diff --staged ;; 已 add 的内容
== 恢复 ==
# git restore sth.el ;; sth.el 还没 add,舍弃刚才的修改。一般先 diff 再 restore
# git restore --staged sth.el ;; 退回 stage。从 add 里拿出来
== 分支 ==
# git branch ;; 一般在 main
# git switch -c test ;; 创建并切换到 test 分支
# git branch -d test ;; test 分支不要了,删掉
== 子模块 ==
# git submodule add URL path
== 其他 ==
<pre>
rebase
cherry-pick
bisect
stash
reflog
reset --hard
merge 的复杂用法
detached HEAD
交互式 rebase
复杂冲突解决
Git object 内部原理
</pre>

Latest revision as of 19:44, 22 July 2026

本地

  1. cd sth
  2. git init
  3. git status
  4. 写 .gitignore
  5. git add .
  6. git status
  7. git diff --staged ;; commit 前先检查一下
  8. git commit -m "本次干了什么,下一步干什么"

远程

  1. git config --global user.name "你的名字"
  2. git config --global user.email "你的邮箱"
  3. git config --global --list
  4. git remote add origin somewhere.git ;; origin 只是个昵称
  5. git remote -v
  6. git branch -M main
  7. git push -u origin main ;; u 表示 main = origin/main
  8. git push
  9. git pull

项目要么生在本地,要么生在远程。本地已有,则远程建空仓,不要选创建 README.md License。远程已有,则本地直接 git clone。

查看

  1. git log --oneline
  2. git diff
  3. git diff --staged ;; 已 add 的内容

恢复

  1. git restore sth.el ;; sth.el 还没 add,舍弃刚才的修改。一般先 diff 再 restore
  2. git restore --staged sth.el ;; 退回 stage。从 add 里拿出来

分支

  1. git branch ;; 一般在 main
  2. git switch -c test ;; 创建并切换到 test 分支
  3. git branch -d test ;; test 分支不要了,删掉

子模块

  1. git submodule add URL path

其他

rebase
cherry-pick
bisect
stash
reflog
reset --hard
merge 的复杂用法
detached HEAD
交互式 rebase
复杂冲突解决
Git object 内部原理