(注意:这些命令后面都添加相关文件名)
一.创建自己的仓库
二、创建版本库
1.git add 添加文件
2.git commit -m 文件提交
3.git status 查看修改状态
4.git diff 查看工作区和版本库里最新版本的区别。
三、版本回退
5. git log 查看历史版本
6. git log --pretty=oneline 查看简洁的历史版本
7. git reset --hard commit ID 版本回退到当前的commit ID版本
8. cat 文件名 查看当前版本内容
9. git relog 查看全部历史版本的 commit ID
10.如果提示文件未跟踪就是文件还没有添加,用git add 命令将文件从工作区到暂存区就好了,然后再 git commit -m 到master就好了。
四、Git仓库的工作区和暂存区
11.如果由于不正常关闭文件导致存在.swp文件 用 rm +文件名 命令即可删除
五、修改管理
每次修改都得先git add 然后才可以一起提交git commit -m
六、撤销修改
1.撤销在工作区的修改:git checkout -- 文件名
2.撤销在暂存区的修改(已经添加过了):git reset HEAD 文件名
3.已经提交过了的撤销:git reset --hard commitID
七、删除文件
删除文件:git rm 文件名
恢复删除:git checkout -- 文件名
八、远程仓库
1.申请一个gidhub账号
2.获取ssh秘钥
3.将秘钥添加到账户里的ssh keys
九、添加远程库
首先本地仓库和远程仓库关联,后面用push即可完成推送(在有网的情况下将本地的文件的推送到远程仓库,相当于做了备份,其他人也可改动)
十、从远程仓库克隆
一般利用git clone git@github.com:仓库名.git,这种方式是通过ssh协议的,速度最快,也有用http://的。
十一、分支管理
1、注意主分支和次分支的区别,同时HEAD是指向master(主分支)的,而master才是指向提交。
2.查看分支:git branch 创建分支:git branch <name> 切换分支:git checkout <name>
创建+切换分支:git checkout -b <name> 合并某分支到当前分支:git marge <name>
删除分支: git branch -d <name>
3.合并冲突,当合并冲突时,要手动编辑代码解决冲突,再添加提交,完成合并,可用git log --graph查看合并过程。
4.修复bug时,要建立新的分支,然后合并,如果手头有正在进的任务,则先将这个任务 git stash 后面再git stash pop 恢复。
5.多人协作时,要从本地push到远端,有冲突,则用git pull 从远端抓取最新的,再有问题,则是远端的本地的分支未建立链接,先建立链接再git pull,然后合并,如果合并有问题,则手动修改冲突后再合并并添加到暂存区和提交,最后就可以push到远程仓库了。
6.rebase:将分叉的push变成直线的
十二、标签管理
1.git的标签其实是指向commit的指针,用git tag 给最近的一次commit标签,也可以任意给任何分支和版本定标签。
2.可以删除本地标签,也可以push到远端,也可以删除push到远程后的标签。
3.使用github,任何开源的项目都可以fork到自己的github中,就变成了自己的仓库。
差不多花了一天多的时间完整的学习了廖雪峰老师的git教程,讲的清晰易懂,感谢!附上网址:
https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/