****使用准备***
1.下载gitbash 安装可以一路默认
2.添加PATH环境变量的路径
2.1 git目录下bin路径
2.2 git-core的路径
3.打开git-bash.exe
4.绑定用户
git config --global user.name "github用户名"
git config --global user.email "github邮箱"
5.设置SSH key
ssh-keygen -t rsa -C "github绑定邮箱"
三次确认:路径确认[回车] 不用密码[回车] 确认密码[回车]
6.根据第5步提示中的路径找到.ssh目录下,用记事本打开id_rsa.pub 将其内容复制
7.网页登陆github 头像-settings-SSH and GPG keys -add new SSH keys -粘贴到Key区域中-点击add SSH key
****本地使用****
1.创建版本库
cd 工作目录//pwd 显示当前目录,注意不包含中文
2. git init//将此目录变成git可以管理的仓库
3.编写文件并放到工作目录或者其子目录下
4.git add 完整文件名//将文件添加到仓库
5.git commit -m"说明"//将文件提交到仓库
//可以多次add不同的文件,commit可以一次提交很多文件
辅助命令:
git status//查看工作区当前状态
git diff 完整文件名//查看具体修改的内容
git log//显示从最近到最远的提交日志 ,加上-pretty=oneline参数显示的不那么多
git reset --hard HEAD^//回退/还原到上一个版本a
git reset --hard xxx//xxx是a之后的某个版本,在窗口关闭前向上找找到xxx的commit id
git reflog//记录每次命令,使用后可以查看到每个版本的commit id
git diff HEAD --完整文件名//查看工作区和版本库里面最新版本的区别
git checkout --完整文件名//丢弃工作区的修改,让文件回到最近一次git commit或者git add时的状态
git chexkout --完整文件名//用版本库的版本替换工作区的版本
git reset HEAD 完整文件名//将暂存区的修改撤销掉,重新放回工作区
rm 完整文件名//在资源管理器中删除文件
git rm 完整文件名//从版本库中删除文件
名词解释
1.工作区Working Directory:电脑里能看到的目录,比如使用时的路径
2.版本库Repository :工作区里的隐藏目录.git
3.版本库里有 暂存区stage或者index、git创建的第一个分支master,指向master的一个指针HEAD
git add将[文件修改]添加到暂存区
git commit 将暂存区的所有内容提交到当前分支
说明:
git跟踪并管理的是修改 而不是文件
所以:第一次修改 -> git add -> 第二次修改 -> git commit//因为没有第二次git add所以第二次修改违背提交
*****远程仓库****
git remote add origin 网页登陆github的目标库的地址(直接复制)//关联本地库和远程库,origin是git默认的远程库的名字
git push -u origin master//把本地库的所有内容推送到远程库上(实际上是把当前分支master推送到远程)//第一次推送时需要加上-u参数,git会把本地的master和远程的master分支关联起来,在以后的推送中或者拉取时可以简化命令为git push origin master
git clone 远程库地址//克隆远程库,选yes,然后可以用cd ,ls等命令
git checkout -b dev//创建并切换到dev分支
git branch//查看当前分支,会列出所有分支,当前分支前会有一个*
git merge//和并制定分支到当前分支
git branch -d dex//删除dev分支
//鼓励用分支完成某个任务,合并后再删掉分支,和直接再master分支上工作效果是一样的,但是这样更安全
当Git无法自动合并分支时,就必须首先解决冲突。解决冲突后,再提交,合并完成。
解决冲突就是把Git合并失败的文件手动编辑为我们希望的内容,再提交。
git remote//查看远程库消息
git remote -v//显示更详细的消息
推送分支:将该分支上的所有本地提交推送到远程库,推送时要指定本地分支
git push origin master//推送到远程库
git push origin dev//推送到dev分支
切换到需要打标签的分支上然后 git tag 标签内容//打标签
git tag//查看所有标签
git show 标签内容//查看标签信息
git tag -d 标签内容//删除标签
git push origin 标签内容//推送某个标签到远程
git push origin --tags//一次性推送全部未推送的标签到远程
git tag -d v0.9
git push origin :refs/tags/v0.9//这两条命令加起来完成标签已经推送到远程后删除标签的操作
git remote set-url origin 新地址// 设置远端url