Git 常用命令总结
1. GIT 工作区
add commitworking directory ------- index(stage) ---------- HEAD | | | | | | 工作目录 暂存区 版本库
2. 状态
git status # ++ 1git diff # ++ 2
3. 记录
git refloggit log # ++ 3
恢复文件到修改前版本
git checkout "5bb4f8e~1" test.conf # ++ 4git checkout d835c65 test.conf # ++ 5
1. 分支操作
git branch -r # 列出远程分支 ++ 6git branch -d branch # 删除本地分支 ++ 7git branch -d -r branch # 删除远程分支git branch # 查看当前分支git branch dev # 创建分支git checkout dev # 切换分支 ++ 8git checkout -b dev # 创建并checkout分支git checkout -b dev origin/dev # 从远程分支创建本地分支git checkout HEAD~1 -b dev # 从当前分支的某一个commit开始创建新分支git branch -d dev # 删除分支git pull # 拉去远程分支并合并到本地分支git push origin master # 推送本地分支到远程仓库git push origin master -f # 强制以本地分支版本替换远程分支git reset --hard HEAD~1 # 强制回退到某个提交历史节点 ++ 9## 分支合并git merge dev # 合并分支 ++ 10git branch -v # 查看各个分支最后一个提交对象的信息git branch --no-merged # 查看尚未合并的工作
2. 提交和推送
# 重写提交历史git add # 添加工作区内容到暂存区 ++ 11git commit -m "branch test" # 把暂存区内容提交到版本库 ++ 12git commit --amend # 追加提交到上一个版本 ++ 13
3. 工作现场
git stash # 保留工作现场 ++ 14git stash pop # 返回工作现场 ++ 15
4. 标签
git tag v1.0 HEAD~1 # 创建标签,默认为HEADgit tag -a v1.0 -m "msg"# 创建标签并指定标签信息git tag # 查看所有标签git show v0.1 # 查看标签对应版本的信息git tag -d v0.1 # 删除标签git push origin v1.0 # 推送标签到远程分支 ++ 16git push origin --tags # 一次性推送全部尚未推送到远程的本地标签# 删除远程标签git tag -d v1.0git push origin :refs/tags/v1.0
Git 服务配置不同的私钥
cat >> ~/.ssh/config << EOF# Host *.workdomain.com # IdentityFile ~/.ssh/id_rsa.github # User git Host git.coding.net github.com 172.16.0.* User username PreferredAuthentications publickey IdentityFile ~/.ssh/id_rsa.github EOF
git 本地项目添加多个远程仓库
# 第一种方式:## 添加远程库git remote add github https://github.com/darebeat/k8s.gitgit remote add gitee https://gitee.com/darebeat/k8s.git## 查看远程库及地址git remote -v## 拉,推git pull github/gitee :git push github/gitee :# 第二种方式:(好处是,推送时,可以同时推送到另外一个库)## 添加另外一个远程库git remote set-url --add origin https://github.com/darebeat/k8s.git## 推送git remote -vgit push origin master:master