Git 经验
2020/02/27
初始化、添加、commit
- git初始化:
git init
- 暂存(添加)更改
git add -A
暂存所有变化git add -u
暂存被修改和被删除的文件,不包括新文件git add .
暂存新文件和修改的文件,不包括被删除的文件 - 查看 commit 记录
git log
q
退出
撤回 commit
1. git reset
常用参数:
--mixed
保留更改内容,撤回commit(包括add、移动、重命名操作),reset默认参数--soft
保留更改内容,撤回commit(不包括add、移动、重命名操作)--hard
完全撤回(包括更改内容、add、移动、重命名操作、commit)
例如,撤回最后一次 git reset HEAD~
或 git reset HEAD~1
后面的数字代表撤回最后第几次
2. --amend 参数
git commit --amend
连同已经暂存(add
)的修改一同合并进最后一次 commit,同时可修改提交信息。 想要把新的更改也加到上一次 commit,需要先 add
修改了的文件,再执行 git commit --amend
。
仅合并暂存的修改但不修改提交信息: git commit --amend --no-edit
git rebase -i HEAD~
合并或修改 commit
远程仓库
- 添加仓库:
git remote add name remote
(name 是标签,随意设置;remote 是远程仓库地址) - 查看远程仓库:
git remote -v
- 删除远程仓库:
git remote rm name
(name是上面设置的标签)
设置代理
设置
git config --global http.proxy socks5://127.0.0.1:1080
git config --global https.proxy socks5://127.0.0.1:1080
检查
git config --global --get http.proxy
git config --global --get https.proxy
取消
git config --global --unset http.proxy
git config --global --unset https.proxy
克隆有子模块 (submodule) 的仓库
克隆时带上参数 –recursive
git clone --recursive url
若已经 clone 但忘记包含子模块,可执行:
git submodule update --init
多行 commit 信息
git commit -m "first line" -m "second line"