生成公钥
ssh-keygen -t rsa -C "your_email@youremail.com
工作区、暂存区、版本库
工作区、暂存区和版本库之间是可以相互切换的。
git add 将工作区的文件添加到暂存区 git commit 将暂存区的文件添加到版本库 概念
工作区:编写文件,修改文件的环境 暂存区:临时存放文件的环境(git add 之后的环境) 版本库:最终提交到的环境(git commit之后的环境)
git的相关命令操作
1. git add 添加文件到暂存区
2. git commit -m "描述" 将暂存区的文件保存到版本库
3. rm file 删除工作区的文件
4. git rm file 将暂存区和工作区的文件都删除
5. git rm --cached file 直接删除暂存区的文件,工作区不做修改
6. git diff 比较工作区和暂存区的文件状态(git add 之前的状态)
7. git diff --cached 比较暂存区个版本库的文件的状态(git add 之后的状态)
git diff HEAD 比较工作区和版本库的文件的状态
8. git reset HEAD 将版本库的文件覆盖暂存区的文件
9. git checkout file 将暂存区的文件覆盖工作区的文件
10. git checkout HEAD file 将版本库的文件覆盖暂存区和工作区的文件
11. git reset --hard HEAD^ 切换到上一个版本
12. git log 查看日志
例子
假设:
工作区:a 文件
暂存区(index):b文件
版本库:c文件
git diff命令结论
git diff 比较a 跟b
git diff
git diff HEAD 比较a 跟c
git reset跟 git checkout结论
git reset HEAD c覆盖b
git checkout <file > b覆盖a
git checkout HEAD <file > c覆盖a ,b
git rm命令结论
git rm 删除a 跟b
git rm
rm file 只删除a
git分支操作的基本命令
创建分支
git branch fenzhi
切换分支
git checkout fenzhi (总和命令) git checkout -b fenzhi
合并分支
git merge fenzhi(合并fenzhi到当前的分支)
删除分支
git branch -d fenzhi
查看本地分支
git branch
查看远程分支
git branch -r
git本地和远程仓库的关联
1. 下载github上的项目
git clone git@github. com:hankanon/ 名称. git
2. 上传到远程分支
git push origin work
3. 下载远程分支(本地分支存在远程分支)
git pull origin work
4. 下载远程分支到本地(本地分支不存在远程分支)
就相当于现在本地创建一个分支,再将远程的分支拉到本地
git checkout -b work origin/work
git branch -r
git checkout -b work origin/work
git pull origin work
5. 删除最后一次远程提交
git revert HEAD(将远程分支的上一个版本还原到本地,之后在将本地的分支提交到远程)
git push origin master
6. 如果想把本地的某个分支test提交到远程仓库,并作为远程仓库的master分支,或者作为另外一个名叫test的分支,那么可以这么做。
$ git push origin test:master
$ git push origin test:test
7. 如果想删除远程的分支呢?类似于上面,如果:左边的分支为空,那么将删除:右边的远程的分支。
$ git push origin :test
解决命令冲突
git pull 如果报错,解决办法如下:
remote: Counting objects: 3 , done.
remote: Compressing objects: 100 % (3 /3 ), done.
remote: Total 3 (delta 1 ), reused 0 (delta 0 )
Unpacking objects: 100 % (3 /3 ), done.
From git.coding.net:hankanon/h5-11 -01 -webShop
14 f790e..e94cff6 master -> origin/master
Updating 14 f790e..e94cff6
error: Your local changes to the following files would be overwritten by merge :
a .txt
Please commit your changes or stash them before you can merge .
Aborting
提示错误的时候,冲突的解决办法
1. git add --all
2. git commit -m "修改"
3. git pull
4. 修改冲突文件
5. git add --all
6. git commit -m "merge"
7. git push