Git常用命令总结


  • Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。
  • Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
  • Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持。

Git基本命令

1. GIT 工作区

                    add                        commit
working directory- index(stage)- HEAD
      |                       |                    |
      |                       |                    |
  工作目录                 暂存区                版本库

2. 状态

git status # ++ 1
git diff   # ++ 2

3. 记录

git reflog
git log   # ++ 3

恢复文件到修改前版本

git checkout "5bb4f8e~1" test.conf # ++ 4
git checkout d835c65 test.conf     # ++ 5

1. 分支操作


git branch -r           # 列出远程分支 ++ 6
git branch -d branch    # 删除本地分支 ++ 7
git branch -d -r branch # 删除远程分支
git branch              # 查看当前分支
git branch dev          # 创建分支
git checkout dev        # 切换分支 ++ 8
git 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           # 合并分支    ++ 10
git branch -v           # 查看各个分支最后一个提交对象的信息
git branch --no-merged  # 查看尚未合并的工作

2. 提交和推送

# 重写提交历史
git add                         # 添加工作区内容到暂存区 ++ 11
git commit -m "branch test"     # 把暂存区内容提交到版本库 ++ 12
git commit --amend              # 追加提交到上一个版本 ++ 13

3. 工作现场

git stash               # 保留工作现场 ++ 14
git stash pop           # 返回工作现场 ++ 15

4. 标签

git tag v1.0 HEAD~1     # 创建标签,默认为HEAD
git tag -a v1.0 -m "msg"# 创建标签并指定标签信息
git tag                 # 查看所有标签
git show v0.1           # 查看标签对应版本的信息
git tag -d v0.1         # 删除标签
git push origin v1.0    # 推送标签到远程分支 ++ 16
git push origin --tags  # 一次性推送全部尚未推送到远程的本地标签

# 删除远程标签
git tag -d v1.0
git 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.git
git 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 -v
git push origin master:master

文章作者: darebeat
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 darebeat !
 上一篇
SHELL命令-screen SHELL命令-screen
Linux screen命令用于多重视窗管理程序。通常只有在使用telnet登入主机或是使用老式的终端机时,才有可能用到screen程序。
2018-07-09
下一篇 
GIT多个远程仓库操作 GIT多个远程仓库操作
Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。
2018-05-17
  目录