# GIT 的基本使用

# 本地初始 GIT 仓库

## 从远程仓库克隆至当前目录
git clone <remote_url>
## 在当前目录创建一个git本地仓库
git init  <directory>
1
2
3
4

# 本地仓库添加

## 添加指定文件至暂存区
git add <fileName>
## 添加指定目录至暂存区
git add <directory>
## 添加所有
git add -A
## 将指定目录及子目录移除出暂存区
git rm --cached target -r
1
2
3
4
5
6
7
8

# 本地提交

## 提交单个文件至本地仓库
git commit file -m '提交评论'
## 提交全部至本地仓库
git commit -am '快添加与提交'
1
2
3
4

# 分支管理

#查看当前分支
git branch [-avv]
#基于当前分支新建分支
git branch <branch name>
#基于提交新建分支
git branch <branch name> <commit id>
$ git branch -d {dev}
#切换分支
git checkout <branch name>
#合并分支
git merge <merge target>
#解决冲突,如果因冲突导致自动合并失败,此时 status 为mergeing 状态.
#需要手动修改后重新提交(commit)
1
2
3
4
5
6
7
8
9
10
11
12
13

# 远程仓库管理

#查看远程配置
git remote [-v]
#添加远程地址
git remote add origin http:xxx.xxx
#删除远程地址
git remote remove origin
#上传新分支至远程
git push --set-upstream origin master
#将本地分支与远程建立关联
git branch --track --set-upstream-to=origin/test test
1
2
3
4
5
6
7
8
9
10

# tag 管理

#查看当前
git tag
#创建分支
git tag <tag name> <branch name>
#删除分支
git tag -d <tag name>
1
2
3
4
5
6

# 日志管理

#查看当前分支下所有提交日志
git log
#查看当前分支下所有提交日志
git log {branch}
# 单行显示日志
git log --oneline
# 比较两个版本的区别
git log master..experiment
#以图表的方式显示提交合并网络
git log --pretty=format:'%h %s' --graph
1
2
3
4
5
6
7
8
9
10

# 小案例

完成模拟从项目添加到 push 过程 创建项目-》初始 git 仓库-》提交文件-》远程关联-》push 到远程仓库

## 在项目路径下右键运行git使用init即可创建项目
git init test
## 进入仓库
cd test/
## 在git仓库创建文件
echo '这是我的第一个git仓库' > README.MF
## 查看当前仓库文件状态,我们可以看到刚刚添加的README.MF为红色,表示未添加到暂存区内(对这里有疑惑的同学回到1-2看一下git提交代码流程)
git status
## 将文件提交到缓冲区
git add README.MF
## 我们可以使用rm删除 我们在缓冲区不想提交的文件
git rm --cached README.MF
## 当我们添加文件后再次查看状态大家会看到绿色的new file:README.MF(等待提交意思)
git status
## 提交文件到本地仓库 (-m后面跟着注解)
git commit README.MF -m 'frist commit';
## 添加远程仓库以地址(github创建的远程仓库)
git remote add origin https://xxx/xxx/test.git
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

# 项目的下载

## 小张需要下载我刚刚提交到git的文件 把下载的项目命名未xiaozhang
git clone https://xxx/xxx/test.git xiaozhang
## 修改项目文件
echo '我是小张这是我提交的文件' > README.MF
## 到这里有同学会发现一个一个提交岂不是很麻烦 当然我们可以全部提交
## 提交全部到缓冲区 并且提交到远程服务器
git add -A;git commit -am '2 commit';git push
1
2
3
4
5
6
7

# 本地代码初始化并上传

## 新建远程仓库、获取git路径
## https://xxx.com/xxxproject.git
## 进入要git初始化的文件夹
git init
## 添加所有文件到暂存区
git add *
## 提交代码到本地仓库
git commit -m 'first init'
## 设置远程仓库
git remote add origin https://xxx.com/xxxproject.git
## 提交到远程服务器
git push -u origin master
1
2
3
4
5
6
7
8
9
10
11
12

# 重要方法

# git 回退

#git  commit没有push可以回退
git reset --soft HEAD~
1
2