git常用命令
文章目录
账号配置
-
MAC配置全局的git账户
查看所有账户信息
git config --list
查看当前全局的git账户信息
git config user.name git config user.email
添加/覆盖全局git用户名和邮箱
git config --global user.name "用户名" git config --global user.email "邮箱"
删除全局的git用户名和邮箱
git config --global --unset user.name "用户名" git config --global --unset user.email "邮箱"
-
Mac配置git SSH公私钥
查看本地ssh目录是否有公私钥
cd ~/.ssh
如果有删除,没有执行下命令创建
ssh-keygen -t rsa -C “邮箱账号” //一路回车即可生成 id_rsa 、id_rsa.pub
将id_rsa.pub 公钥拷贝至服务器的ssh中即可
cat id_rsa.pub
git 文件管理
-
查看当前分支本地文件状态
git status
-
查看当前分支本地修改文件具体信息
查看所有修改明细
git diff HEAD
查看具体文件修改明细( 例如:查看readme.txt修改内容)
git diff readme.txt
-
修改文件后推送到远端
查看修改的文件
git status
查看修改文件具体内容
git diff xxxx
将xxx文件添加到缓存区
git add xxxx
提交到本地库并添加提交说明,也可以不需要说明直接 git commit
git commit -m “提交说明”
提交到远程master分支
git push origin master
分支管理
-
查看本地分支
git branch
-
查看远程分支
git branch -r
-
查看所有分支(本地&远程)
git branch -a
-
创建本地分支
git branch dev //dev 是分支名,可自定义
-
切换本地分支
git checkout dev //dev 是要切换目标分支名称
-
将本地分支push到远程(要切换到推送的目标分支上)
git push origin dev //dev 是要推送要远程的本地分支名称
-
删除本地分支
git branch -D dev //dev 是要删除的本地分支名称
命令行指引
Git 全局设置
git config --global user.name "username"
git config --global user.email "email"
git clone
程操作的第一步,通常是从远程主机克隆一个版本库,这时就要用到git clone
命令。
$ git clone <版本库的网址>
该命令会在本地主机生成一个目录,与远程主机的版本库同名。如果要指定不同的目录名,可以将目录名作为git clone
命令的第二个参数。
$ git clone <版本库的网址> <本地目录名>
git clone
支持多种协议,除了HTTP(s)以外,还支持SSH、Git、本地文件协议等,下面是一些例子。
$ git clone http[s]://example.com/path/to/repo.git/
$ git clone ssh://example.com/path/to/repo.git/
$ git clone git://example.com/path/to/repo.git/
$ git clone /opt/git/project.git
$ git clone file:///opt/git/project.git
$ git clone ftp[s]://example.com/path/to/repo.git/
$ git clone rsync://example.com/path/to/repo.git/
SSH协议还有另一种写法。
$ git clone [user@]example.com:path/to/repo.git/
$ git clone git@github.com:jquery/jquery.git
通常来说,Git协议下载速度最快,SSH协议用于需要用户认证的场合。各种协议优劣的详细讨论请参考官方文档。
git remote
为了便于管理,Git要求每个远程主机都必须指定一个主机名。git remote
命令就用于管理主机名。
不带选项的时候,git remote
命令列出所有远程主机。
$ git remote
origin
使用-v
选项,可以参看远程主机的网址。
$ git remote -v
origin git@github.com:jquery/jquery.git (fetch)
origin git@github.com:jquery/jquery.git (push)
上面命令表示,当前只有一台远程主机,叫做origin,以及它的网址。
克隆版本库的时候,所使用的远程主机自动被Git命名为origin
。如果想用其他的主机名,需要用git clone
命令的-o
选项指定。
$ git clone -o jQuery https://github.com/jquery/jquery.git
$ git remote
jQuery
上面命令表示,克隆的时候,指定远程主机叫做jQuery。
git remote show
命令加上主机名,可以查看该主机的详细信息。
$ git remote show <主机名>
$ git remote show origin
git remote add
命令用于添加远程主机。
$ git remote add <主机名> <网址>
$ git remote add origin git@github.com:jquery/jquery.git
git remote rm
命令用于删除远程主机。
$ git remote rm <主机名>
$ git remote rm origin
git remote rename
命令用于远程主机的改名。
$ git remote rename <原主机名> <新主机名>
$ git remote rename origin old-origin
远程创建一个新仓库,克隆到本地
-
在gitlab上新建一个项目然后在本地clone下来,
-
进入项目添加文件通过
git add
命令,将文件关联到git;git add file.txt
添加指定文件到gitgit add .
添加所有文件到git -
通过
git commit
命令提交关联到git到文件; -
通过
git push
命令将提交的文件推送到远程git仓库指定分支
git clone ssh://git@gitlab.xxxx.xxx:port/username/projectname.git
cd projectname
touch README.md
git add README.md
git commit -m "add README"
git push -u origin master
将本地现存项目推送到到远程仓库
- 进入本地现有项目文件夹
- 执行
git ini
初始化git命令 - 给当前项目添加远程仓库主机名称和地址
git remote add <主机名> <地址>
- 执行
git add .
命令将文件添加到git - 执行
git commit
命令将文件的文件提交到git - 执行
git push
命令将提交到文件推送到远程仓库
cd existing_folder
git init
git remote add origin ssh://git@gitlab.xxxx.xxx:port/username/projectname.git
git add .
git commit -m "Initial commit"
git push -u origin master
将本地已有的Git仓库项目推送到一个新的地址(或者说更改现有的git仓库远程地址)
- 进入本地已有git仓库项目
- 重命名当前项目远程仓库的主机名称
git remote rename <原主机名> <新主机名>
- 重新设置当前项目的远程仓库主机名和地址
git remote add <主机名> <地址>
- 将当前项目全部文件推送到新仓库
git push -u <当前项目远程主机名> --all
- 将当前项目的标签推送到新仓库
git push -u <当前项目远程主机名> --tags
cd existing_repo
git remote rename origin old-origin
git remote add origin ssh://git@gitlab.xxxx.xxx:port/username/projectname.git
git push -u origin --all
git push -u origin --tags
git地址迁移
-
查看当前仓库地址
git remote show origin
-
更改项目git地址(迁移)
-
方式一
通过set-url origin 指定远程仓库地址
git remote set-url origin [新地址]
-
方式二(会产生两个远程分支old-origin和origin)
1、重命名当前远程分支;2、添加当前远程分支的新地址
//重命名当前远程分支为 old-origin git remote rename origin old-origin git remote add origin [新地址]
-