一、本地磁盘操作和远程操作都能使用
1、git 建立库 找到目录文件 git init
2、创建文件 eg:Hello.php 注意要UTF-8;
3、添加 git add Hello.php 如果是"." 就是添加全部
4、提交到注释信息 git commit -m "New php FIle -Hello.php Create";
5、查看Hello.php 信息 git log Hello.php 每次提交都会有一个commit id
6、如果不想每次提交前添加我们可以使用 git commit -a -m"注释";
7、查看修改后的文件与未修改状态 git diff Hello.php
增加的代码都用+号 删除的代码用-号
8、版本控制(版本回退)
1、查看版本日志 git log --pretty=oneline 文件
head指针指向最后一次commit的信息
2、回退 git reset --hard HEAD`1
3、回退日志 : git reflog
4、回到最初修改的 时候 git reset --hard 7148e202(每次版本的commit id 前几位 它是系统为例唯一采用12进制 sha1加密的字符串 )
7148e2026b8895
5、git diff HEAD Hello.php 是将工作区与HEAD指针文件进行对比
9、撤销修改
1、未添加到暂存区以及未进行commit
git checkout -- Hello.php 恢复原样
2、已经添加当时没有commit
git reset HEAD Hello.php 从暂存区中剔除
10、删除文件(也是一种修改)
eg: del demo.php
git commit -a -m "delete demo"
11、恢复文件
文件被删除只能通过版本控制的方式来恢复文件
1、查看版本信息:git log --pretty=oneline
2、找到对应的版本commit id 进行恢复
git reset --hard 4a1adbb3aa
git version 查看版本号
二、gitHub (本地与gethub服务器连接)
gitHub注册账号
注册完成之后需使用SSH方式来进行数据本地与远程的交互
1、进入GIT BASH 生成SSH(这里有问题没有生成)
ssh-keygen -t rsa -C "877044512@qq.com"
生成秘钥将公钥添加到github官网上
2、将本地仓库与gitHub仓库建立连接 但是远程仓库里没有本地仓库的内容
git remote add origin https://github.com/woshihaiyong168/test1.git
3、将本地所有的的内容推送到GITHUB远程库上 需要输入GITHUB用户名和密码
git push -u origin master
git push - u origin master -f 强制推送
这里使用的是HTTPS方式也可以使用SSH方式 这里建议使用HTTPS方式
4、切换远程仓库
git remote set-url origin https://github.com/woshihai...
5、查看现在远程服务器端已经存在的仓库信息
git remote -v
6、删除远程服务器端的仓库
git remote rm 库名
7、本地推送远程服务器端
git push origin master
8、克隆仓库 之前现有本地仓库在连接到远程仓库这是一错误的做法!!正确的做法是
先有远程仓库之后克隆到本地
git clone https://github.com/woshihai...(库地址)
在实际开发之中最好的做法就是所有开发者直接克隆仓库进行操作
三、git 分支
1、创建与合并分支
利用分支实现多人开发模式
master 分支程序的发布使用
git branch brh 创建分支brh
git clone -b 分支名 链接地址
2、查看分支
git branch
git branch -a 查看全部分支(本地以及远程)
git branch -r 只查看远程分支
git branch -l 只查看本地分支
3、切换分支
git checkout 分支名
4、创建并切换分支
git checkout -b 分支名
子分支上对文件进行修改并commit 之后 对master分支上的内容是没有进行修改的
5、删除分支 (切换到不是删除分支的其他位置上)
1、git branch -d 分支名(分支已经与master分支合并)
2、git branch -D 分支名(分支没有与master分支合并)
6、推送分支到远程服务端
git push origin 分支名
7、在主分支上进行与其他分支的合并
1、"fast-forward" 快速合并方式不会产生commit id
git merge 子分支名
2、 非快速提交会产生一个commit id
git merge --no--ff -m "注释" 子分支名
8、删除本地子分支 提交master分支
git branch -d 子分支 git push origin master
9、删除远程子分支
1、git push origin --delete 子分支
2、git branch 删除子分支名
git push origin :删除子分支名
10、修改分支名称
git branch -m brh(旧) jhy(新)
11、冲突解决
分支与子分支同时修改一文件并提交到暂存区 那么合并分支是就会出现问题
手动修改之后再进行提交
12、查看日志
git log --graph --pretty=oneline "graph"是采用绘图方式进行显示的
git log --graph --pretty=oneline --abbrev-commit 显示最新的几条记录
13、分支暂存(解决代码突然暂停修改的操作)
git add. 添加
git stash 暂存
查看暂存文件 git stash list
暂存区文件恢复
1、先恢复,然后手动删除暂存区
git stash apply
git stash drop
2、恢复同时暂存区内容删除
git pop
14、补丁:patch
补丁:针对于局部的修改
1、使用git diff生成标准的patch
查看文件修改后的不同
git diff 文件名
提交文件 但没有合并分支
生成补丁
git diff master > 补丁名
在项目目录中生成一个补丁信息
15、获取远程子分支
git merge origin/子分支名