git是一个很重要的版本管理工具,以下总结了git的常用命令,方便查阅。
1.初始化本地库
- git init
2.设置签名
项目/仓库级别
- git config user.name vivianyl
- git config user.email vivianyl@github.com
- 存放在 ./.git/config
系统用户级别
- git config --global user.name vivianyl
- git config --global user.email vivianyl@github.com
- 存放在 ~/.gitconfig
3.基本操作
状态查看
- git status
添加
- git add filename
- 将工作区中的内容添加/修改到暂存区
提交
- git commit -m "commit mse" filename
- 将暂存区的内容添加到本地库
查看历史
- git reflog
版本切换
- git reset --hard 哈希值
- git reset --hard HEAD^ 后退一步
- git reset --hard HEAD~n 后退n步
删除文件找回
- 前提是被删除的文件已经提交到了本地库,在工作区rm filename ,可以回退到还没删除前的版本
比较文件差异
- git diff filename 工作区和暂存区之间的比较
- git diff [历史版本] filename 工作区和历史版本的比较
4.分支管理
创建分支
- git branch 分支名
查看分支
- git branch -v
切换分支
- git checkout 分支名
合并分支
- 先git checkout 被合并的分支
- 再git merge 有新内容的分支
解决冲突
- 编辑文件,删除特殊符号
- 修改文件
- git add filename
- git commit -m "commit msg" 注意这后面不带filename
5.github
创建远程库
- 直接在gihub的界面,新建一个repository, 只需要输入仓库名即可。创建完成后会生成一个仓库地址
创建远程仓库地址别名
- git remote -v 查看当前所有远程地址别名
- git remote add [别名] [远程地址]
推送
- git push [别名] [分支名]
克隆
- git clone [远程地址]
拉取
- pull=fetch+merge
- git fetch [远程库地址别名] [远程分支名]
- git merge [远程库地址别名/远程分支名]
- git pull [远程库地址别名] [远程分支名]
- git pull origin master
本地库与远程库冲突
- 必须先拉取,git pull origin master ,然后会进入merge状态
- 修改文件解决冲突
- git add filename
- git commit -m "msg"
- git push origin master