版本控制工具
分布式版本控制
git bash:unix与linux风格的命令行
git CMD:windows风格
git GUI:图形界面的GIT
linux命令:
pwd:显示当前所在目录的路径
touch:新建文件
mkdir:新建文件夹
rm:删除文件
rm -r:删除文件夹
mv:文件移动 mv src/js/index.css src/css
clear:清屏
reset:清屏
history:历史
help:查看帮助
exit:退出
#:注释
vim:修改文件,按i修改,按esc退出修改,按shift+zz退出,
cat xzp.txt 查看文件内容
公钥
生产公钥
创建文件夹.shh,开启git bash here
执行命令:ssh-keygen -t rsa
git remote add [仓库名] [网站SSH码]
git push [仓库名] [分支] 无需输入密码
配置文件
系统配置->安装目录etc文件夹:config
用户配置->位于c盘:C:\Users\Administrator\.gitconfig
用户新增(全局配置)
用户名:git config --global user.name 'luoxianze'
邮箱:git config --global user.email '2507006845@qq.com'
去除--global,为项目配置
拓展
.gitignore 忽略文件
# 注释
*.txt #忽略所有的.txt结尾的文件
!lib.txt #除lib.txt外
/temp #忽略根目录下temp文件,不包含其它目录temp
build/ #忽略build/目录下的文件
doc/*.txt #忽略doc/xzp.txt,不包括doc/server/xzp.txt
操作:新增
git add [file name] 添加file name到暂存区(.全部)
git add . 添加全部文件(修改、新增)到暂存区
git rm --cashed [file name] 清除缓存区文件file name
git rm -r --cashed . 清除缓存区全部内容
git commit -m '提交注释' 提交暂存区全部内容到本地仓库
git commit -m '提交注释' [file name] 提交暂存区文件file name到本地仓库
操作:版本
git log 查看提交历史记录(日期、版本号、注释、提交人)
多页控制:空格向下翻页,b向上翻页,q退出
git log --pretty=oneline (哈希值,注释)
git log --oneline (部分哈希值,注释)
git reflog 查看提交历史记录(部分哈希值,版本索引,注释)
git reset --hard [哈希值(部分)] 哈希索引版本
git reset --hard [HEAD^] HEAD^^ ^回退,^符号个数,代表回退版本
git reset --hard [HEAD~number] HEAD~3,回退三个版本
git reset --soft 本地库移动head指针
git reset --mixed
操作:比较
git diff [file name] 工作区文件与暂存区文件比较
git diff [本地库历史版本] [文件名] 工作区文件与本地库历史记录比较
不带文件名比较全部文件
分支管理
git branch -v 查看所有分支
git branch [branch name] 创建分支
git checkout [branch name] 切换分支
git merge [branch name] 分支合并,branch name分支往当前分支合并
分支合并冲突解决后:git add . git commit -m 注释 (不加文件名)
远程库管理
git remote add [仓库名] [url] 创建仓库名
git push [仓库名|url] [分支] 提交代码到远程库
git clone [url] 克隆:远程库下载到本地,创建origin远程地址别名,初始化本地库
git status 查看文件状态
git fetch [仓库名|url] [分支] 拉取(远程内容下载到本地库,工作区内容未改变)
git merge [仓库名]/master 合并远程代码
git pull [仓库名|url] [分支] 远程代码拉取与合并:git fetch + git merge
跨团队协作(a为主,b为辅)
b与网站fork,a的仓库
b修改本地内容,push到b的远程仓库
b网站操作:pull request栏,新建pull request,编写注释
a网站操作:pull request栏,对b的request进行查看,以及操作
确认无误,点击:merge pull request