Git操作手册

Git是一个分布式的版本管理工具,在Git出现之前比较流行的版本管理工具是SVN和CVS,但这两个版本管理工具都是中心式的,即所有的版本管理功能都是由服务器来完成的,如果服务器崩溃了,所有的版本信息就都没了。

但Git却不同,Git是有大神Linus开发的一个分布式的版本管理工具,每个Git客户端就可以在本地管理一个或多个版本库,这个过程并不依赖于中央仓库,而像GitHub、Gitee这种网站也并不是版本管理中心,而是代码托管中心。

 

## 命令大全
```
#用户全局设置
git config --global user.name "echo"
git config --global user.email "13113960962@163.com"

#针对当前项目的用户设置(在项目目录下执行)
git config --local user.name "echo"
git config --local user.email "13113960962@163.com"


#查看配置列表
git config --list

cd ~
cat .gitconfig

#初始化某个目录为git仓库
git init

#查看git管理下的文件状态
git status

#将文件纳入到git管理(添加到暂存区)
git add filename
git add *.suffix
git add --all  

#提交文件到归档区
git commit -m "注释说明"
#提交一个空,没什么意义
git commit --allow-empty -m "注释说明"

#查看记录
git log
git log --oneline
git log --oneline --graph

#找到某个人提交的记录
git log --oneline --author="echo"
#找到多个人的提交记录
git log --oneline --author="echo\|zhangsan"  

#过滤指定的提交注释
git log --oneline --grep="key word"

#找到某个时间段内的提交记录-早九点到早12点
git log --oneline --since="9am" --untile="12am"  

#找到某个时间点之后的提交记录
git log --oneline --after="2022-08-09"

#查看特定文件的提交记录
git log -p filename 

#通过git来删除文件,可以减少执行add操作,即直接删除文件和暂存区的内容
git rm filename 

#将某个文件从git版本管理中移除,但不删除文件本身
git rm filename --cached

#直接通过git修改文件名称,可以减少执行add
git mv oldname newname

#修改最后一次提交记录的注释信息
git commit --amend -m "Welcome to China"

#把某个遗漏的文件追加到最近的一次commit上
git add newfile
git commit --amend --no-endit

#清除那些在引入.gitignore之前加入到git管理的文件夹
git clean -fX

#查看某个文件的某行代码是谁写的
git blame filename 
git blame -L 5,10 filename  #只查看5-10行的内存

#挽救被rm但还没有提交到git中的文件
git checkout file
git checkout .

#拆掉最新一次提交
git reset master^

#回退到指定的末次提交
git log --oneline 
git reset commitId

#查看操作记录
git reflog

#创建分支
git branch newBranch
git checkout -b newBranch

#创建一个指向某次提交的分支,通常用于恢复某个被误删的分支(配合git reflog)
git branch newBranch commitId 

#查看分支
git branch

#切换分支
git checkout branchName

#修改分支名称
git branch -m cat tiger

#删除分支
git branch -d/-D branchName

#合并分支
git merge otherBranch

#创建标签
git tag tagName commitId    //轻量级标签
git tag tagName commitId -a -m "注释说明"  //有附注的标签

#删除标签
git tag -d tagName

#为本地项目添加远端仓库
git remote add origin sshUrl/HttpUrl

#将本地分支推送到远端仓库
git push origin master
#将本地分支推送到远端仓库的cat分支
git push origin master:cat  

#从远端仓库拉取文件
git fetch   //fetch下来的内容再origin/master上,需要手动合并
#将origin/master合并到本地master
git merge origin/master  

#从远端仓库拉取文件并自动合并  pull = fetch + merge 
git pull 
git pull -rebase  //以rebase的方式进行合并,即不产生merge commit节点
git pull origin master


#从远端克隆项目, clone用来首次下周向,会复制包括分支在内的所有内容
git clone sshUrl

```

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

echo20222022

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值