Git 常用命令

  |   0 评论   |   230 浏览

ssh登录git

ssh-keygen -t rsa -C "youremail@example.com" 生成密钥,位于 ~/.ssh复制公钥至github
ssh -T git@github.com 测试登录

git config

git config --global user.name "liweiwei"
git config --global user.email "liweiwei3257@qq.com"
git config --global gui.encoding utf-8 设置git gui编码,否则查看更改历史时中午会显示为乱码
git config -l 查看配置

git clone

将远程仓库克隆到本地

git clone git@xxx.com:xxx.git dir/ 将远程仓库克隆到本地dir目录
-o <name> 指定远程仓库名称,不使用默认名称 origin
git init 当前目录,初始化本地仓库

支持多种协议
$ 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/

git remote

用来管理远程仓库

git remote 查看所有远程仓库
-v 查看远程仓库地址

git remote show origin 查看远程仓库配置
git remote set-url origin git@xxx.com:xxx.git 设置远程仓库地址
git remote add origin git@xxx.com:xxx.git 添加远程仓库
git remote rm origin 删除远程仓库
git remote rename origin newname 修改远程仓库的名称

git fetch

将远程仓库的更新获取到本地

git fetch origin 将远程仓库的更新全部获取到本地
git fetch origin master 将远程仓库的某个分支获取到本地

提交

git add <文件名> 将文件内容添加到暂存区
git add -A 将所有变动添加到暂存区
git reset HEAD file 可以把添加到暂存区中文件重新放回工作区
git commit -m “提交说明”
git status 查看文件状态,哪些文件被修改

版本比较

git diff 查看工作区未添加到索引的文件与上一次提交的差异
git diff --cached 查看工作区已添加到索引的文件与上一次提交的差异
git diff HEAD 查看工作区文件与上一次提交的差异,不论是否添加到索引

查看历史版本

git log 查看提交日志,从近到远
git log --pretty=oneline 查看提交日志,简要信息
git log -p 查看提交日志,包含修改内容
git log -p -<数字> 查看最近几次提交日志,包含修改内容
git log -p --word-diff 查看提交日志,包含修改内容,精确到单词级别
-U<数字> 修改内容上下文行数,默认3行
--stat 显示每次更新的文件修改统计信息
--graph 显示提交历史时间线

版本回退

git reset

撤销修改

git checkout -- readme.txt “–”不能漏掉,如果漏掉就变成了切换分支
如果文件没有添加到暂存,就恢复到最新版本,如果没有已经添加到
暂存,则恢复到暂存中的版本。

分支管理

git push origin master 推送分支

git fetch 获取远程仓库所有更新
git branch 列出所有分支,当前分支*标注

git branch <分支> 创建分支
-a 包含远程分支
-r 只显示远程分支
-d <分支> 删除分支

git checkout dev 在本地有 dev 分支的情况下,切换分支,没有的话使用 -b 创建本地分支并切换
-b newBranch origin/masterorigin/master 分支上创建并切换到 newBranch 分支

git merge origin/master 合并指定分支到当前分支

参考资料
1. Git远程操作详解

评论

发表评论

validate