git使用整个过程整理
使用gitHub共享代码,一种是把本地仓库推送到远程仓库,一种是克隆远程仓库的项目。
链接远程仓库
ssh-keygen.exe -t rsa -C "1468017149@qq.com" 生成密钥
.ssh 文件中 中是密钥
// 每台电脑只能有一个密钥,不同的电脑添加密钥才能与gitGub仓库链接
window系统 .ssh文件存放的位置
把本地的仓库推送到远程仓库
文件修改推送到远程仓库
git push origin master
克隆远程仓库
git clone 地址
git指令
本地的项目和本地git仓库的创建
在项目中,先在本地文件夹初始化git
初始化
git init
把工作区的内容提交到仓库,本地仓库和本地工作区操作
添加文件
git add . // 添加所有的文件
git commit -m “这里是描述” // 提交到仓库
git add // 添加所有的文件
git commit -m “这里是描述” // 提交到仓库
查看修改的内容
git status // 查看文件修改
git diff <file> // 查看文件修改的详细内容
当前操作放弃修改
git checkout —<file> 丢弃 修改了但没有add 的文件内容
如果已经执行git add ,则需要先把文件撤回到工作区
先执行git reset HEAD <file> 命令
再执行 git checkout —<file>
回退到指定的版本
git log // 查看提交的所有版本
git reflog // 查看提交的所有版本
git reset --hard <版本号>
git log --pretty=oneline --abbrev-commit // 打印提交纪录
分支的操作
git branch test1 // 创建分支
git checkout test1 // 切换分支
git checkout - b test2 // 创建并切换
git branch // 查看本地分支
git branch -r // 查看远程分支
git branch -a // 查看所有分支
git push origin --delete photoShare // 删除远程分支
git branch -d test1 // 删除一个分支,在主分支下删除其它分支
git merge test1 // 把分支合并到主分支
git merge --no-ff branch // 能看到合并纪录
// 先合并分支,然后删除分支
git merge --no-ff branch // 能看到合并纪录
解决bug
git stash // 创建一个环境,保存当前的分支的代码
git pop // 恢复当前环境, 没有恢复到当前环境是无法看到git stash 时的内容的
git stash list // 查看创建的环境
// 创建一个分支解决错误
多人协作
git remote -v // 查看远程仓库的xinxi
git push origin branch-name // 推送分支
git pull
git checkout -b branch-name origin/branch-name //在本地创建和远程分支对应的分支,名字相同
git branch --set-upstream branch-name origin/branch-name //建立本地分支和远程分支的关联
// 多人协作,把自己的功能完成了,和别人的进行合并,查看别人的代码
创建标签 git tag
为指定的某次提交创建一个标签,可以为本地仓库某个分支添加标签,也可以为远程仓库主分支添加标签。
git log --pretty=oneline --abbrev-commit // 打印提交纪录
git tag <tagName>// 创建一个标签
git tag -a <tagName> -m "这里是描述" id // 为指定的某一次提交创建标签
git show <tagName>// 查看标记
git tag // 查看所有标记
git tag -d <tagName> // 删除本地仓库某个标签
git push origin <tagName> //推送某个标签到远程仓库
git push origin --tags // 把所有的标签推送到远程仓库
如果标签已经推送到远程仓库
先删除本地的
git tag -d <tagName>
然后再删除远程的,格式如下
git push origin :refs/tags/<tagName>
/////////////////
最后总结
本地工作环境、 本地仓库、远程仓库
本地环境添加到本地仓库, 本地仓库推送到远程仓库, 全程围绕着这个概念进行的。
删除是 d -d小写 要删除的分支没有合并过是不能删除的, -D 大写是强制删除
创建是 b
不在主分支上进行操作,主分支只有一个,创建的分支实现的功能必须合并到主分支然后提交,其它的合作者才能再主分支上看到