git
git是一个集中式的版本控制软件,类似的版本控制软件还有很多,比如svn等。
git命令最开始是拉取国外的仓库github,但由于国内上外网有点毛病,于是有了国内的gitee(码云),其实就是中文版的github,git命令可以无条件通用。
一、安装git
百度git官网直接下载安装,没啥好说的。
二、在本地文件初始化git仓库
1.新建文件夹(用于拉取远程项目)
2.初始化
右键->Git Bash Here -> 输入:git init
3.建立本地和远程项目的连接
我先拉取gitee上项目的master分支:
到gitee上找到项目的地址
建立本地分支和远程分支之间的连接:
git remote add origin https://gitee.com/xxxxxx/xxxxx.git
4.拉取远程项目指定的分支
可选的分支名查看:
命令:
git fetch origin 分支名
5.在本地建立其他分支来对应远程项目的其他分支
其他分支指的是默认分支(一般是master分支)以外的分支(dev)
git checkout -b dev(本地分支名称) origin/dev(远程分支名称)
这个时候注意蓝色字体,你已经在本地由master分支切换到了dev分支
可以使用命令来查看有哪些分支以及目前在哪个分支:git branch
6.将指定分支的拉取到本地
7.查看本地项目文件的变化状态
命令:git status
没有文件被修改
项目里增加一个文本文件
再执行git status
可以看到明显的变化,出现了红字,意思是项目发生了变化,并且这个变化你没有加入到git进行管理
8.将项目的变价加入到git的暂存区
git add .
:他会监控工作区的状态树,使用它会把工作时的所有变化提交到暂存区,包括文件内容修改(modified)以及新文件(new),但不包括被删除的文件。
git add -u
:他仅监控已经被add的文件(即tracked file),他会将被修改的文件提交到暂存区。add -u 不会提交新文件(untracked file)。(git add --update的缩写)
git add -A
:是上面两个功能的合集(git add --all的缩写)
我这里使用命令:git add .
9.将缓存区内容提交到本地仓库
命令:git commit -m"备注信息~~~~~"
这个时候项目的变化已经提交到本地仓库,换言之就是你现在的项目在本地已经是最新的,可以再次使用git status
来查看项目状态。
10.将本地仓库的变化同步到远程
在提交本地代码在远程时,先检查远程仓库有没有别人提交过,以免造成冲突:
更新本地代码命令:git pull
没有冲突再提交git push
(由于本地分支和远程分支都是一对一对应的)
11.本地分支之间的切换
命令git checkout 分支名
12.查看提交历史
git log
那一大串黄色SHA值之后版本回退(拉取指定的版本)有大用。
13.回到指定的版本
命令git checkout -b 新分支名 *******bbc4e1d*****5344d88bc8f559
回退成功!
14.删除指定的本地分支
先要切换到其他分支:
命令:git checkout 其他分支名
再删除分支
命令git branch -D 删除的分支名
查看分支是否还存在
命令:git status
15.查看本地提交日志
命令:git log
命令:git log --oneline
16.本地某个分支回退到某个版本
命令:git reset --hard XXXXX
xxx代表之前git log中显示的十六进制字符串,可以只取前面几个,做到唯一标识就行!
17.本地代码强行覆盖远程仓库的代码
命令:git push origin 分支名 --force
18.远程仓库代码强行覆盖本地代码
git强制覆盖:
git fetch --all
git reset --hard origin/master
git pull
git强制覆盖本地命令(单条执行):
git fetch --all && git reset --hard origin/master && git pull