git版本管理工具
1.分布式版本控制
2.多个开发人员协调工作
3.有效监听谁做的修改
4.本地及远程操作
git基本命令行
1.git init //初始化本地git仓库
2.git add<file> //添加文件
3.git status //查看状态
4.git commit //提交
5.git push //推送到仓库
6.git pull // 从远程仓库拉取数据
7.git clone //从远程仓库拷贝数据
8.touch 文件名.文件类型 //创建指定文件
git 的安装
1.Mac MAC端git下载地址
2.Win Window端git下载地址
查看git版本号
git --version
查看最近演变
查看git 提交的历史
git log
以简洁的方式查看git的log
git log --oneline
查看最近两次的提交
git log -n2
以图形化的方式简单的查看提交的历史
git log --oneline --graph
git init后 拉入需要上传的文件地址
进行git配置
git config --gloabal 针对当前用户下所有的项目 设置
git config --local 针对当前工作区的项目来进行设置
git config --system 针对当前系统下所有的账户进行设置
------ 例 ------
git config --global user.name '***' //配置用户名
git config --global user.email '***' //配置用户邮箱
创建 .gitignore 在.gitignore中设置git忽略文件
本地分支管理
创建git分支: git branch 分支名称
主线切换至分支: git checkout 分支名称
分支切换至主线: git checkout master
在主线中进行分支合并: git merge 分支名称
--------------------------------------------------------------
在合并分支时出现" fatal: refusing to merge unrelated histories "
则需要 在pull阶段 : 假如我们的源是origin,分支是master,那么我们需要这样写
git pull origin master --allow-unrelated-histories
分支使用
查看所有的分支
git branch
创建分支testing
git branch testing
切换到分支testing
git checkout testing
查看每一个分支最后一次的提交
git branch -v
创建并且切换到分支demo
git checkout -b demo
删除一个分支
git branch -d coolfix
强制删除一个分支
git branch -D coolfix
查看本地分支和远程分支
git branch -va
将coolfix分支合并到master分支
切换到master分支
执行命令 合并到master git merge coolfix
如果两个分支修改了同一个文件呢
还原场景:
coolfix 分支修改 hot.html文件
coolfix 提交 git add cool.html , git commit -m 'upadte'
切换到master分支 git checkout master
修改hot.html 文件 vi hot.html
提交修改 git add cool.html , git commit -m 'master update cool.html'
执行合并 git merge coolfix
这个时候 有冲突的提示:
解决方法1: git mergetool
解决方法2:使用 git status 查看状态, 然后使用vi cool.html 编辑文件
首次提交
git add * //把文件添加进仓库
git commit -m "first commit" //提交到本地仓库中
git remote add origin '...' //设置远程仓库地址
git push -u origin master // 提交代码到远程仓库,master分支
----------------- 下面为 故障 相关 -----------------
git remote -v //查看远程仓库详细信息,可以看到仓库名称 (我把origin拼写成orign...)
git remote remove orign //删除orign仓库
git remote add origin '' // 重新添加远程仓库地址
git push -u origin master //提交到远程仓库的master主干