1、将本地的git仓库与github关联
git config --global user.name shdghdh
git config --global user.email "8888888888@qq.com"
ssh-keygen -t rsa -C "8888888888@qq.com"
在“C:\Users\Administrator\.ssh”下生成了两个文件
把公钥文件用记事本打开,粘贴到github中的相应位置,到此为止,下面就可以愉快的上传代码了
2、测试一下该SSH key
ssh -T git@github.com
密码正确后你会看到下面这段话,如:
Hi username! You've successfully authenticated, but GitHub does not
# provide shell access.
-------------------------------------------------------------------------------------------------
初始化 git init
查看版本 git status
添加到暂存区 git add demo1.html
git add . 全部添加到暂存区的意思 (绿色暂存区 红色工作区)
暂存区放到版本库 git commit
git commit -m "change demo1"
工作区放到暂存区到版本库的简写 git commit -a -m "add drag.js"
-a 先把工作区添加到暂存区 ,-m再添加到版本区
对比:
git diff 工作区与暂存区的对比
git diff --cached(--staged)暂存区域版本库的对比
git diff master 工作区与版本库的对比
撤销:
git reset HEAD drag.js暂存区撤销回工作区
git checkout -- drag.js 工作区的销毁掉
git commit --amend 撤销提交操作
比如忘记提交另一个,就要撤销 git commit -m "change3 drag.js and demo1.html" --amend
删除
git rm test.txt 删除暂存区的文件(工作区要先删除)
git rm -f test.txt 删除暂存区和工作区的文件
git rm --cached test.txt 删除工作区的,但不会删除暂存区的
git push -u origin master # 将本次更改更新到github项目上去
git pull origin master 将远程仓库里面的项目拉下来
dir 查看有哪些文件夹
git rm -r --cached target 删除target文件夹
git commit -m ‘删除了target’
每次增加文件或删除文件,都要commit 然后直接 git push -u origin master,就可以同步到github上了
恢复
1.查看版本 git log
2.拷贝commit id
git checkout awewrewrew 恢复(对文件的还原)
git rest --hard awewrewrew 恢复版本(对版本的还原)
git rest --hard HEAD^回到上一个(^指针往回找)
git rest --hard HEAD~2回到前面两个(跳过两个版本)
1.git reflog 查看操作行为
2.拷贝commit id
git rest --hard awewrewrew 回到现在的版本
传到网站上
git remote 查看远程仓库的名字
git remote -v 查看远程仓库对应的地址
git push origin master 往github进行同步
修改账号密码
git config --global user.name "mmm"
git config --global user.email "xxxx@qq.com"
客户端上也要修改
克隆地址 git clone https://github.com/sayid760/vue-chat.git
分支
git branch 查看分支
git branch new1 创建分支(但是还没在分支上)
git checkout new1 切换到new1分支上 (切换回master分支 git checkout master)
git checkout -b new2 简写,创建new2分支再切换到new2分支上
git merge new1合并到new1分支
删除分支
git branch -D new1
常用:
添加到暂存区
git add .
再添加到版本区
git commit -m "add project"
把当前分支推送到远程仓库
git push origin master
用分支提交改动:
创建一个新分支
git branch newbranch
输入这条命令检查是否创建成功
git branch
切换工作分支
git checkout newbranch (git branch确认下)
改动提交到新的分支上
git add .
git commit -m "add project" ( git status 检查下提交情况)
将新分支提交的改动合并到主分支上
git merge newbranch
查看产生冲突的文件
git diff
push代码
git push -u origin master
删除这个分支
git branch -D newbranch
---------------------------------------------------------------------
遇到的坑:
1、git错误:fatal: Not a git repository (or any of the p
提示说没有.git这样一个目录,解决办法如下:
git init即可
2、新增内容在文件夹时,cd进入文件夹路径再add新内容
----------------------------------------------------------------------
回滚merge操作:
误将dev合并到了master分支,现要回滚merge操作
⑴ 首先git reflog (查看merge操作的上一个提交记录的版本号)
ee0ee93 HEAD@{0}: merge dev: Merge made by the ‘recursive’ strategy.
7335548 HEAD@{1}: checkout: moving from dev to master
可以看到需要回滚到 7335548 这个提交记录上
⑵ 执行git reset –hard 7335548 (回滚到某个版本号)
再次查看提交记录:
7335548 HEAD@{0}: reset: moving to 7335548
ee0ee93 HEAD@{1}: merge dev: Merge made by the ‘recursive’ strategy.