Git常用命令
2017-10-30 本文已影响23人
阿堃堃堃堃
引言
Git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。其核心由工作区和版本库(暂存区+主分支)构成:工作区相当于用户建立的文件夹,暂存区用来存放用户添加的修改,主分支负责接收用户最终确定提交的修改。
基本管理
查询命令帮助
$ git help 命令
配置本机用户名、邮箱
$ git config --global user.name "用户名"
$ git config --global user.email "邮箱"
将目录转换成可被Git管理的仓库(先要进入该目录)
$ git init
多次添加多个文件,一次提交(文件需位于Git仓库目录下)
$ git add 文档1
$ git add 文档2
$ git commit -m "注释说明"
查看Git仓库下所有文件的状态
$ git status
文件修改比对
$ git diff 文件名 #工作区与暂存区
$ git diff HEAD -- 文件名 #工作区与主分支
查看当前分支commit
$ git log
$ git log --pretty=oneline #单行显示
版本回退
$ git reset --hard [HEAD^|HEAD~n|版本号] #以主分支版本为参照,回退暂存区与工作区
$ git reset [HEAD^|HEAD~n|版本号] #以主分支版本为参照,回退暂存区
$ git reset HEAD 文件名 #以主分支版本为参照,回退暂存区
$ git checkout -- 文件名 #以最新存储动作(add或commit)为参照,回退工作区
查看所有(包括撤销的)分支commit
$ git reflog
删除文件
$ git rm 文件名 #讲删除文件提交至暂存区
$ git commit -m "注释说明" #正式提交删除至主分支
远程仓库
创建SSH Key至用户主目录
ssh-keygen -t rsa -C "邮箱地址" #私钥-id_rsa 公钥-id_rsa.pub
添加远程仓库信息至本地仓库
$ git remote add 仓库名 git@[域名|IP]:路径/远程仓库名.git
$ git remote # 查看本地配置的所有远程仓库名
$ git remote -v # 查看本地配置的所有远程仓库详情
修改远程仓库名
$ git remote rename 旧名 新名
删除远程仓库
$ git remote rm 仓库名
拉取远程仓库至本地仓库
$ git pull 仓库名 远程分支:本地分支 # master
$ git pull 仓库名 远程分支:本地分支 –-allow-unrelated-histories # 强制合并两个不相关仓库
推送本地仓库至远程仓库
$ git push -u 仓库名 本地分支:远程分支 #初次关联使用
$ git push 仓库名 本地分支:远程分支 #以后使用
克隆远程仓库至本地
$ git clone git@[域名|IP]:路径/仓库名.git #将以仓库名为名的目录克隆到当前目录
全局配置相关操作
$ git config --global -l # 查看全局配置项
$ git config --global --unset key #删除key所对应配置项
Github管理
修改仓库的编程语言
在根目录建立.gitattributes文件并写入:
*.* linguist-language=语言
更多详情见廖雪峰老师博客:Git教程