首页 > 代码库 > Git 常用命令集锦
Git 常用命令集锦
远程仓库相关命令
克隆远程仓库:git clone git://github.com/jquery/jquery.git 查看远程仓库:git remote -v 添加远程仓库:git remote add [name] [url] 删除远程仓库:git remote rm [name] 修改远程仓库:git remote set-url --push [remoteName] [newUrl] 拉取远程仓库:git pull [remoteName] [remoteBranchName]:[localBranchName] 推送远程仓库:git push [remoteName] [localBranchName]:[remoteBranchName]
分支命令(branch)
查看本地分支:git branch 查看远程分支:git branch -r 查看所有分支:git branch -a 创建本地分支:git branch [name] // 注意新分支创建后不会自动切换为当前分支 切换分支:git checkout [branchName] 创建新分支并立即切换到新分支:git checkout -b [name] 合并分支:git merge [branchName] // 将名称为[branchName]的分支合并到当前分支 将本地分支push到远程:git push [remoteName] [localBranchName]:[remoteBranchName] // 如果远程分支不存在,则自动创建远程分支 删除本地分支:git branch -d [branchName] // [-d]选项只能删除已经参与了合并的分支,对于未有合并的分支是无法删除的。如果想强制删除一个分支,可以使用 [-D] 选项 删除远程分支: 在Git v1.7.0 之后,可以使用这种语法删除远程分支:git push --delete origin branchName 否则,可以使用这种语法,推送一个空分支到远程分支,其实就相当于删除远程分支:git push origin :[remoteBranchName]
1、如果本地分支和远程分支存在对应关系,则可以直接在分支下通过 git push 提交到远程分支。
2、查看远程仓库分支与本地仓库分支的对应关系(pull,push),如以 origin 仓库为例:
亦显示远程库 origin 里的资源
git remote show origin
3、本地的某个分支提交到远程仓库某个分支,以本地 test 分支为例,如下:
git push [remoteName] test:master // 提交本地 test 分支作为远程的 master 分支 git push [remoteName] test:test // 提交本地 test 分支作为远程的 test 分支
4、将代码提交到多个不同仓库的不同分支: https://www.v2ex.com/t/95460
git remote add github [url]
git remote add gitcafe [url]
git push github master:master
git push gitcafe master:cafe-pages
回撤命令(reset)
针对将已提交到版本库或缓存区的文件恢复到之前的某个版本。
回撤命令模板:git reset [--param] [commit id] 回撤到指定版本:git reset --hard 9ca489438651f44cf65366e3bfab09527c8235ae 【日志上的commit id】 回撤到上1个版本:git reset --hard HEAD^ 回撤到上2个版本:git reset --hard HEAD^^ 回撤到上10个版本:git reset --hard HEAD~10 回撤到上0个版本:git reset --hard HEAD // 即本地仓库最新的版本 回撤到远程的上0个版本: git reset –-hard [remoteName]/[branchName] // 即远程仓库最新的版本,如:git reset –-hard origin/master 回撤参数解释: --mixed reset HEAD and index 默认选项。版本库和缓存区都滚到指定的版本,但工作目录不受影响 --soft reset only HEAD 仅仅回撤版本库,缓存区和工作目录都不会被改变 --hard reset HEAD, index and working tree 所有文件都不会保留 --merge reset HEAD, index and working tree 合并指定版本与现在暂存区与工作区的文件 --keep reset HEAD but keep local changes
回撤命令(checkout)
针对将已修改的工作区文件,但还未提交到版本库或缓存区时,恢复到未修改的状态。
( WebStorm 编辑器里叫 revert,这里的 revert 还可以回撤已经提交到缓存区的文件)
撤销未提交的某个修改:git checkout dev/filename.js 撤销所有未提交的修改:git checkout .
配置命令(config)
设置当前项目作者名称:git config user.name [userName] 设置当前项目作者邮箱:git config user.email [email] 设置别名,简写操作:git config --global alias.[aliasName] [commandName] // 如:git config --global alias.st status, 这样,以前用 git status 查看文件状态,现在就可以用 git st。 本地配置路径: [当前项目]/.git/config 全局配置路径: [用户]/.gitconfig 配置可以直接编辑 .gitconfig 文件,更方便,如下: [user] name = Barrior email = barrior@qq.com [alias] st = status co = checkout br = branch ci = commit
差异对比命令(diff)
这个应该用工具看才更直观。
查看工作区与版本之间的差异:git diff [file] 查看缓存区与版本之间的差异:git diff --cached [file] 或 git diff --staged [file] // 如果没有file,则列出所有文件的差异
其他命令
查看当前状态:git status 提交某个文件(工作区)到缓存区:git add [path] // [path]可以是文件也可以是目录 提交所有文件到缓存区:git add . 提交缓存区文件到版本库:git commit -m ‘message‘ 直接提交工作区文件到版本库:git commit -am ‘message‘ // [-a]代表add,注:这个命令会提交所有修改的文件,但不会提交新建的文件 查看提交日志:git log 查看指定文件的提交历史:git log -p [file] 将文件push到一个临时空间:git stash push 将文件从临时空间pop下来:git stash pop
文件忽略(.gitignore)
.gitignore 配置文件用于配置不需要加入版本管理的文件,可在 Git Bash 中使用shell命令 touch .gitignore 创建这个文件。
1、配置语法:
- 以井号 “#” 开头的行视为注释。
- 以斜杠 “/” 开头表示目录。
- 以星号 “*” 通配多个字符。
- 以问号 “?” 通配单个字符。
- 以方括号 “[]” 包含单个字符的匹配列表。
- 以感叹号 “!” 表示不忽略先前模式排除的文件或目录,如果排除该文件的父目录,则无法重新包括该文件。
2、示例:
规则:test/* 说明:忽略 test 目录下的全部内容;注意,不管是根目录下的 /test/ 目录,还是某个子目录 /child/test/ 目录,都会被忽略 规则:/test/* 说明:忽略根目录下的 /test/ 目录的全部内容 规则:test 说明:忽略 test 文件和 test 目录 规则:test/ 说明:只忽略 test 目录,不忽略 test 文件 规则:test !test/ 说明:只忽略 test 文件,不忽略 test 目录 规则:/test 说明:只忽略当前目录下的 test 文件和目录,子目录的 test 不在忽略范围内 规则:*.[oa] 说明:忽略所有以 .o 或 .a 结束的文件 规则:**/node_modules/ 说明:忽略所有文件夹下命名为 node_modules 的文件夹,和直接写 node_modules/ 一样
3、示例:
规则: /* !/test /test/* !/test/inner.js 说明:忽略全部内容,但是不忽略根目录下的 /test 目录和 /test/inner.js 文件
Git终端偏好设置
- 在 Git Bash 命令行终端,右键选择 Options, 里面有很多显示设置,如设置默认终端尺寸,透明度,字体大小等,可以让视觉更舒服。
- 设置完毕后,在 [用户] 文件夹下会生成一个 .minttyrc 文件,保存文件到云上,以后重装系统或其他电脑用,直接黏贴到机子 [用户] 文件夹下就可以用了。
参考:
Git 常用命令大全:http://blog.csdn.net/dengsilinming/article/details/8000622
Git 官网:https://git-scm.com/book/zh/v2
http://www.cnblogs.com/haiq/archive/2012/12/26/2833746.html
http://blog.csdn.net/benkaoya/article/details/7932370
其他资源
Git 常用命令集锦
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。