Git教程

目录

 

创建仓库

管理修改

分支管理

远程仓库


创建仓库

 

初始化仓库

git init
ls -a          
.git                                 # git目录用来跟踪版本库

文件添加到仓库

git add a.txt

文件提交到仓库

git commit -m “v1”                 # 备注v1

文件上传到远程库

git push -u orgion master

查看仓库状态

git status

查看历史版本

git log                              # 查看当前状态历史记录,--pretty=oneline 简单输出
git reflog                           # 查看所有历史记录

f026a6c (HEAD -> master) HEAD@{0}: commit: v3
dc1e2ca HEAD@{1}: commit: v2
abdea28 HEAD@{2}: commit (initial): v1

查看工作区和版本库里最新版本的区别

git diff HEAD -- a.txt

 

管理修改

 

从版本库回退

git reset --hard HEAD^            # HEAD@{0}表示当前版本,回退到HEAD版本
git reset --hard HEAD^^           # 回退到HEAD@{2}版本

# 或者

git reset --hard HEAD~1
git reset --hard HEAD~2

# 或者

git reset --hard commit_id        # 回退到指定版本

撤销工作区的修改

git checkout -- a.txt

# 一种是a.txt修改后还没有被放到暂存区,撤销修改就回到和版本库一模一样的状态;
# 一种是a.txt已经添加到暂存区后,又作了修改,撤销修改就回到添加到暂存区后的状态。

撤销暂存区的修改

git reset HEAD a.txt              # 删除暂存区的文件

删除文件

git rm a.txt                      # 如果一个文件已经被提交到版本库,那么永远不用担心误删
git commit -m "remove a.txt"

 

分支管理

 

创建分支

git branch dev                    # 创建分支dev
git checkout dev                  # 切换到分支dev

# 或者

git checkout -b dev               # git checkout命令加上-b参数表示创建并切换,相当于以上两条命令

查看分支

git branch

切换回master

git checkout master

master合并分支后再删除分支

git merge dev

Updating 78d2980..745616c
Fast-forward                  # 并是“快进模式”,也就是直接把master指向dev的当前提交,所以合并速度非常快
b.txt | 1 +
1 file changed, 1 insertion(+)
create mode 100644 b.txt

git branch -d dev

 

远程仓库

 

创建新的仓库(推荐直接克隆远程库)

echo "# test2.0" >> README.md
git init
git add README.md
git commit -m "first commit"
git remote add origin git@github.com:testder/test2.0.git
git push -u origin master


# 加上了,-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来
# 在以后的推送或者拉取时就可以简化命令 git push

关联已存在的远程仓库并上传

git remote add origin git@github.com:testder/test2.0.git            # 关联两个远程库,名字需不同
git remote add origin02 git@github.com:testder/test2.0.git
git push -u origin master

克隆远程从库


git clone git@github.com:testder/tools2.0.git           # 克隆的已经建立好orgion,无需再次关联
git remote -v                                           # 查看远程库信息
git remote rm orgion                                    # 删除远程库

 

上一篇:Nginx日志轮训


下一篇:Saltstack基本安装部署