Git常用命令

引言

Git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。其核心由工作区和版本库(暂存区+主分支)构成:工作区相当于用户建立的文件夹,暂存区用来存放用户添加的修改,主分支负责接收用户最终确定提交的修改。

git_overview


基本管理

查询命令帮助

$ 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 branch dev

查看所有分支

$ git branch -a

切换分支

$ git checkout dev

拉取远程仓库的所有更改包括分支

$ git fetch

倒退版本(若已commit)

$ git reset HEAD^

文件修改比对

$ 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教程

Leave a Comment.