整理目录
This commit is contained in:
224
docs/dev/tools/Git命令总结.md
Normal file
224
docs/dev/tools/Git命令总结.md
Normal file
@@ -0,0 +1,224 @@
|
||||
---
|
||||
title: Git命令总结
|
||||
---
|
||||
|
||||
> Git 是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。[1] Git 的读音为/gɪt/。
|
||||
> Git 是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。[2] Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
|
||||
>
|
||||
> 学习了一下 git,但是很多命令暂时都还没记住,于是将现在所学到的 git 命令记录下来,方便查询
|
||||
>
|
||||
> 至于它们的作用,可以从下面的链接去学习
|
||||
>
|
||||
> [GIT 教程跳转](http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000)
|
||||
|
||||

|
||||
|
||||
## 初始配置
|
||||
|
||||
配置用户名
|
||||
|
||||
git config --global user.name "CodFrm"
|
||||
|
||||
配置邮箱
|
||||
|
||||
git config --global user.email "yz@ggnb.top"
|
||||
|
||||
--global 表示全局 在整个 git 里生效
|
||||
|
||||
## Git 仓库命令
|
||||
|
||||
初始化 git 仓库
|
||||
|
||||
git init
|
||||
|
||||
将文件加入 git 仓库
|
||||
|
||||
git add -f file1 file2
|
||||
|
||||
-f 表示强制添加
|
||||
|
||||
将文件提交到仓库
|
||||
|
||||
git commit -m “提交说明”
|
||||
|
||||
查看仓库状态
|
||||
|
||||
git status
|
||||
|
||||
查看上一次文件变动
|
||||
|
||||
git diff
|
||||
|
||||
查看指定文件变动
|
||||
|
||||
git diff -- file
|
||||
|
||||
文件删除
|
||||
|
||||
git rm file
|
||||
|
||||
跳转到其他版本,如果是老的版本,使用 git log 将看不到之前的新版本,使用 git reflog
|
||||
|
||||
git reset --hard HEAD^
|
||||
|
||||
HEAD^表示上一个版本 HEAD^^表示上两个 HEAD~10 表示上 10 个
|
||||
|
||||
HEAD^ 也可以用 commit_id 表示想要跳转到的版本
|
||||
|
||||
### 分支
|
||||
|
||||
创建并切换分支
|
||||
|
||||
git checkout -b 分支名字
|
||||
|
||||
创建分支
|
||||
|
||||
git branch 分支
|
||||
|
||||
切换分支
|
||||
|
||||
git checkout 分支
|
||||
|
||||
查看分支,当前分支有\*
|
||||
|
||||
git branch
|
||||
|
||||
删除分支
|
||||
|
||||
git branch -d 分支
|
||||
|
||||
-D 强制删除
|
||||
|
||||
合并分支到当前分支
|
||||
|
||||
git merge 分支
|
||||
|
||||
### 日志
|
||||
|
||||
提交历史,查看每个版本的信息
|
||||
|
||||
git log
|
||||
|
||||
显示比较简单的信息 --pretty=oneline
|
||||
|
||||
显示分支合并图 --graph
|
||||
|
||||
命令历史,查看每个命令的信息
|
||||
|
||||
git reflog
|
||||
|
||||
撤销修改,回到该版本最初样式
|
||||
|
||||
git checkout -- file
|
||||
|
||||
将暂存区的文件撤回
|
||||
|
||||
git reset HEAD file
|
||||
|
||||
## 远程仓库
|
||||
|
||||
创建 SSH KEY
|
||||
|
||||
ssh-keygen -t rsa -C "code.farmer@qq.com"
|
||||
|
||||
关联远程库
|
||||
|
||||
git remote add origin git@github.com:CodFrm/StudyGit.git
|
||||
|
||||
克隆远程仓库
|
||||
|
||||
git clone git@github.com:CodFrm/StudyGit.git
|
||||
|
||||
克隆分支到本地
|
||||
|
||||
git checkout -b 本地分支名 origin/远程分支名
|
||||
|
||||
查看远程库的信息
|
||||
|
||||
git remote
|
||||
|
||||
git remote -v 显示更详细的信息
|
||||
|
||||
推送分支
|
||||
|
||||
git push origin 分支名字
|
||||
|
||||
第一次请加上-u 参数 git push -u origin 分支名字
|
||||
|
||||
从远程库获取新版本然后合并
|
||||
|
||||
git pull origin master
|
||||
|
||||
从远程库获取最新的分支版本
|
||||
|
||||
git fetch origin master
|
||||
|
||||
pull 和 fetch 理解还真有点困难....最好实践一下
|
||||
|
||||
fetch 是从远程拉取新加入的版本,要用 reset 跳转到这个新的版本上去才行,否则只是拉取
|
||||
|
||||
pull 就是从远程拉取了这些新的版本,然后将最新的和现在的合并
|
||||
|
||||
相当于 fetch 然后再 merge
|
||||
|
||||
### 暂存现场
|
||||
|
||||
储存现场
|
||||
|
||||
git stash
|
||||
|
||||
查看现场
|
||||
|
||||
git stash list
|
||||
|
||||
还原现场
|
||||
|
||||
git stash apply
|
||||
|
||||
删除现场
|
||||
|
||||
git stash drop
|
||||
|
||||
还原并删除现场
|
||||
|
||||
git stash pop
|
||||
|
||||
### 标签
|
||||
|
||||
设置标签
|
||||
|
||||
git tag 标签名字 commit_id
|
||||
|
||||
commit_id 可选
|
||||
|
||||
删除标签
|
||||
|
||||
git tag -d 标签名字
|
||||
|
||||
推送标签,推送标签到远程仓库
|
||||
|
||||
git push origin 标签名
|
||||
|
||||
git push origin --tags 推送所有标签
|
||||
|
||||
查看标签
|
||||
|
||||
git tag
|
||||
|
||||
查看标签信息
|
||||
|
||||
git show 标签名字
|
||||
|
||||
给标签说明
|
||||
|
||||
git tag -a 标签名字 -m "说明" commit_id
|
||||
|
||||
删除远程标签
|
||||
|
||||
git push origin :refs/tags/标签名字
|
||||
|
||||
## 其他
|
||||
|
||||
给 git 命令设置别名
|
||||
|
||||
git config --global alias.别名 命令
|
Reference in New Issue
Block a user