git init : 改变目录成git 可以管理的仓库
git clone git@server:/srv/sample.git :克隆远程仓库到本地
git add test.txt : 告诉git ,把文件添加到git
,可反复多次使用,添加多个文件 添加到git cache
git commit -m "readme" : 把文件提交到git -m 是本次提交的说明 可忽略 commit 一次提交多个文件
git status : 时刻掌握仓库当前的状态
git diff : difference 查看文件变化内容
git diff HEAD -- test.txt : 查看工作区和版本库里面最新版本的区别
git log : 显示最近到最远的提交日志
如果嫌输出信息太多,看得眼花缭乱的,可以试试加上
--pretty=oneline
参数
git log --graph : 查看分支合并图
git log --graph --pretty=oneline --abbrev-commit
git reflog :记录每次执行的命令
git reset --hard “版本号” : 回退 --hard 指定版本号
git checkout -- test.txt :把test 文件的工作区的修改全部撤消,
一种是test自修改后还没有被放到暂存区,撤消修改就回到版本库一模样的状态
一种是test已经添加到暂存区,又作了修改,撤消修改就回到添加到暂存区后的状态
git rm test.txt :从版本库中删除文件,并需要git commit -m
git push :git push origin master 把本地库的内容推送到远程 -u :不但推送本地的master分支,还会关连本地和远程 的master分支 第一次推送master分支的所有内容
创建分支
git checkout -b dev :-b 参数表示创建 dev 分支并切换 相当于git branch dev --git checkout dev
git branch :查看当前分支 当前分支前显示*号
git checkout master :切换回master分支
git merge dev :把dev 分支的工作合并到master分支上 /merge用户合并指定分支到当前分支
git merge --no--ff -m "readme" dev : --no--ff表示禁用Fast-Forward进行普通合并分支 合并dev 分支
git branch -d dev :-d 删除指定分支 -D 强行删除没有合并的分支
修复bug
git stash :git 存放功能
git stash list :查看之前的工作存放列表
git stash apply :恢复之前存放的工作内容 此方法不删除stash内容,需git stash drop手动删除
git stash pop :恢复的同时删除stash 存放区
多人协作
git remot :查看远程库的信息 -v 显示更详细的信息
git pull :把最新的提交从远程同步下来
git push origin branch-name :推送本地的修改到远程库
git checkout -b branch-name origin/branch-name :在本地创建与远程分支对应的分支
git branch --set-upstream branch-name origin/branch-name :创建本地分支与远程分支的链接关系
标签
git tag “name” :打一个名为name 的标签
git tag :查看所有的标签 -a 指定标签名称 -m 指定标签说明 -s 用私钥签名一个标签
git tag “name” HEAD :给历史commit 打标签,可先通过git log --pretty=oneline --abbrev-commit 查看HEAD
git show tagname :查看标签详细信息
git tag -d tagname :删除指定标签
git push origin tagname :推送本地标签到远程库
git push origin --tags :一次性推送本地未推送到远程库的标签到远程
** :删除远程标签时先git tag -d 本地tag名字 再 git push origin:refs/tags/v0.9 删除远程库
自定义git
git config --global color.ui true :git 适应显示不同颜色 --global 是全局参数
git config --global user.email "[email protected]" :配置个人信息
配置别名
git config --global alias.st status :设置status别名为 st
git config --list // 查看git 配置
配置文件
每个仓库的配置文件都放置在.git/config中
当前用户的配置文件放置在.getconfig中
要方便管理公钥,用Gitosis