git 分布式管理工具
在 Windows 上安装
在 Windows 上安装 Git 的方法如下:
- 使用官方版本安装
官方版本可以在 Git 官方网站下载。 打开 https://git-scm.com/download/win,然后选择相应的版本即可。
要注意这是一个名为 Git for Windows 的项目(也叫做 msysGit),和 Git 是分别独立的项目;更多信息请访问 http://msysgit.github.io/。
- 淘宝镜像地址 下载速度快http://npm.taobao.org/mirrors/git-for-windows/
下载完成后,按照提示进行安装即可。改变安装路径即可 其他next
安装完 Git 之后,要做的第一件事就是设置你的用户名和邮件地址。 这一点很重要,因为每一个 Git 提交都会使用这些信息,它们会写入到你的每一次提交中,不可更改:
安装完成后就会多出这些:
git bash是进入命令窗口
你是在那个目录右键进入得 就在那个目录下 这个目录里使用Linux的命令
常用的Linux命令
平时一定要多使用这些基础的命令!
1)、cd : 改变目录。
2)、cd . . 回退到上一个目录,直接cd进入默认目录
3)、pwd : 显示当前所在的目录路径。
4)、ls(ll): 都是列出当前目录中的所有文件,只不过ll(两个ll)列出的内容更为详细。
5)、touch : 新建一个文件 如 touch index.js 就会在当前目录下新建一个index.js文件。
6)、rm: 删除一个文件, rm index.js 就会把index.js文件删除。
7)、mkdir: 新建一个目录,就是新建一个文件夹。
8)、rm -r : 删除一个文件夹, rm -r src 删除src目录
rm -rf / 切勿在Linux中尝试!删除电脑中全部文件!
9)、mv 移动文件, mv index.html src index.html 是我们要移动的文件, src 是目标文件夹,当然, 这样写,必须保证文件和目标文件夹在同一目录下。
10)、reset 重新初始化终端/清屏。
11)、clear 清屏。
12)、history 查看命令历史。
13)、help 帮助。
14)、exit 退出。
15)、#表示注释
- git 配置所有配置 其实都保存在本地
全局配置文件位置
当前用户配置文件位置
如果想要检查你的配置,可以使用git config --list
命令来列出所有 Git 当时能找到的配置。
你可能会看到重复的变量名,因为 Git 会从不同的文件中读取同一个配置(例如:/etc/gitconfig
与 ~/.gitconfig
)。 这种情况下,Git 会使用它找到的每一个变量的最后一个配置。
你可以通过输入 git config <key>:
来检查 Git 的某一项配置,例如:
$ git config user.name
任毳毳
设置配置文件
$ git config --global user.name "李老师"
$ git config --global user.email li@csdn.net
git 搭建仓库
本地仓库搭建
- 创建目录
$ mkdir learning-git
$ cd learning-git
$ pwd
/Users/xxm/learning-git
- 初始化仓库
$ git init
Initialized empty Git repository in /Users/xxm/learning-git/.git/
瞬间 Git 就把仓库建好了,而且告诉你是一个空的仓库(empty Git repository),同时在当前目录下多了一个.git
的目录,这个目录是 Git 来跟踪管理版本库的,如果你没有看到 .git 目录,那是因为这个目录默认是隐藏的,用ls -ah
命令就可以看到了。
克隆现有的仓库
当你执行 git clone
命令的时候,默认配置下远程 Git 仓库中的每一个文件的每一个版本都将被拉取下来。
克隆仓库的命令是 git clone <url>
。 比如,要克隆 Git 的链接库 libgit2,可以用下面的命令:
文件名是help-docs
$ git clone https://codechina.csdn.net/codechina/help-docs
自己建立别名
$ git clone https://codechina.csdn.net/codechina/help-docs mydocs
- 创建read.txt 文件 使用 get add 文件名 添加到仓库
第二步,用命令git commit
告诉 Git,把文件提交到仓库:
这里简单解释一下git commit
命令,-m
后面输入的是本次提交的说明,可以输入任意内容,当然最好是有意义的,这样你就能从历史记录里方便地找到改动记录。
git commit
命令执行成功后会告诉你:
- file changed:1个文件被改动(我们新添加的readme.txt文件)
- insertions:插入了两行内容(readme.txt有两行内容)
为什么 Git 添加文件需要add,commit
一共两步呢?因为commit
可以一次提交很多文件,所以你可以多次add
不同的文件,比如:
$ git add file1.txt
$ git add file2.txt file3.txt
$ git commit -m "add 3 files."
- 修改文件 查看仓库状态 git status
git status
命令可以让我们时刻掌握仓库当前的状态,上面的命令输出告诉我们,read.txt
被修改过了,但还没有准备提交的修改。
- get diff 文件名 查看修改记录
- git log 查看提交记录
- git reset 返回之前版本
首先,Git 必须知道当前版本是哪个版本,在 Git 中,用HEAD
表示当前版本,也就是最新的提交e55063a
,上一个版本就是HEAD^
,上上一个版本就是HEAD^^
,当然往上100个版本写100个^
比较容易数不过来,所以写成HEAD~100
文件内容回到上一个版本
- git reflog 查看操作记录
- git reset --hard “版本名称” 切换到最新 版本
文件回到原来
-
小结
-
场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令
git checkout -- file
-
场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令
git reset HEAD <file>
,就回到了场景1,第二步按场景1操作 -
场景3:已经提交了不合适的修改到版本库时,想要撤销本次提交,可以用命令
git reset --hard commit_id
,不过前提是没有推送到远程库
git 分支管理
创建分支
$ git checkout -b dev
Switched to a new branch 'dev'
git checkout
命令加上-b
参数表示创建并切换,相当于以下两条命令:
$ git branch dev
$ git checkout dev
Switched to branch 'dev'
用git branch
命令查看当前分支:
$ git branch
* dev
master
git branch
命令会列出所有分支,当前分支前面会标一个*
号
git checkout master
切换分支 到mastergit merge dev
合并分支 devgit branch -d dev
删除分支
只剩下master 分支
创建并切换到新的dev
分支,可以使用:
$ git switch -c dev
直接切换到已有的master
分支,可以使用:
$ git switch master
使用新的git switch
命令,比git checkout
要更容易理解。
通常,合并分支时,如果可能,Git 会用Fast forward
模式,但这种模式下,删除分支后,会丢掉分支信息。
如果要强制禁用Fast forward
模式,Git 就会在merge
时生成一个新的commit
,这样,从分支历史上就可以看出分支信息。
下面我们看一看--no-ff
方式的git merge
:
git merge --no-ff -m "merge with no-ff" dev
合并时添加 --no-ff参数
git log --graph --pretty=oneline --abbrev-commit
查看分支历史
- git分支中常用指令:
# 列出所有本地分支git branch
# 列出所有远程分支git branch -r
# 新建一个分支,但依然停留在当前分支git branch [branch-name]
# 新建一个分支,并切换到该分支git checkout -b [branch]
# 合并指定分支到当前分支$ git merge [branch]
# 删除分支$ git branch -d [branch-name]
# 删除远程分支$ git push origin --delete [branch-name]$ git branch -dr [remote/branch]
在gitee(国内码云 速度快)上创建远程仓库并集成IDEA
设置SHH免密提交
打开git命令窗口 输入 ssh-keygen 则会在用户目录下生成.ssh文件夹
然后注册gitee 并打开设置找的SSH
打开刚刚.ssh下的id_rsa.pub文件 复制其内容 粘贴到gitee SSH设置的key 文本框 随便起一个title 然后保存
创建一个远程仓库
复制远程地址 拉取项目
把拉去的文件复制到你自己的项目下 打开项目
发现idea项目多了这些
在命令行 通过git命令进行 添加 提交 远程提交
添加成功到远程仓库
推荐一下狂神说的git教程感觉讲的非常好地址