git的常用命令有哪些
[TOC]
Git配置配置文件以下配置中若出现相同配置项,根据顺序从下到上依次覆盖
/etc/gitconfig
用户global~/.gitconfig
项目local/etc/gitconfig
基本命令查看全局所有配置:git config --list --global
查看某一项配置:git config user.name
设置用户名:git config --global user.name 'yangqingjun'
设置邮箱名:git config --global user.email 'yangqingjun001@hotmail.com'
重置某项配置:git config --unset --global user.name
添加别名:git config --global alias.co checkout
获取帮助获取某个命令帮助git help addgit add --helpman git-add
获取所有命令名称:git help -a
获取所有手册名称:git help -g
基本操作获取 Git 仓库空目录中初始化项目初始化新仓库命令:git init
添加跟踪文件:git add LICENSE
添加某类文件:git add *.c
添加所有文件:git add .
克隆现有仓库
克隆仓库会将远程目标中所有分支、文件全部克隆下来
克隆远程仓库:git clone https://github.com/libgit2/libgit2
克隆远程仓库并重命名:git clone https://github.com/libgit2/libgit2 test
文件生命周期查看当前文件状态:git status
追踪新文件:git add newfile
状态简表:git status -s
git diff
查看暂存区和提交区区别:git diff --staged
提交更改提交暂存区的内容:`git commit -m 'init'跳过暂存区直接提交:`git commit -am 'init'移除文件不追踪文件,删除文件删除之前未修改过:git rm test.txt
删除之前已修改且提交到暂存区:git rm -f test.txt
不追踪文件,保留文件将已追踪的文件放弃追踪:git rm --cached test.txt
在忽略文件中写入,用来放弃追踪移动文件git mv file1.txt file2.txt
在根目录下的 .gitignore
文件中描述
git config --global core.excludesfile ~/.gitignore
全局忽略文件参考:https://github.com/yangqingjun/gitignore/blob/master/.gitignore特定项目项目特定语言参考:https://github.com/yangqingjun/gitignore匹配规则所有空行或者以 # 开头的行会被Git忽略以 / 开头防止递归。eg:/TODO 只忽略 TODO 文件,而不是文件夹以 / 结尾指定目录。eg:build/ 忽略 build/ 下所有文件doc/*.txt 只忽略此目录下的doc/*/.pdf 忽略doc目录下所有的*.py doc/*.txt
**任意中间零个或多个目录a/**/z
?有且仅一个任意字符hello?.txt
[abc]方框内任意一个[0-9]方框范围内任意一个!追踪指定文件、忽略以上规则!index.py分支操作远程操作GitHubGitLab图解文件生命周期常用命令add: 添加内容到暂存区;添加内容到下次提交中参考安装Git参考:https://git-scm.com/book/zh/v2/起步-安装-GitLinux各版本安装命令:https://git-scm.com/download/linux各编程语言忽略的文件参考:https://github.com/yangqingjun/gitignore其他配置
全局颜色 git config --global color.ui true
查看区别-工作目录与暂存区查个mac快捷键 命令行输入 打开finder
open .
git diff index.html
git diff --staged
git rm style.css
git mv file1 file2
git rm file1
目前还在工作区,未提交状态git checkout HEAD -- index.html
已经提交git checkout HEAD^ -- index.html
查看日志,一行git log --oneline
恢复提交git revert fsdgj
控制指针位置
git reset fsdgj
--soft 软重置,不影响工作区和暂存区
--hart 工作区和暂存区都重置
--mixed 默认的 只重置暂存区
git stash save '放到工作进度里'
显示工作进度列表
git stash list
查看区别
git stash show -p stash@{0}
恢复进度
git stash apply stash@{0}
删除进度
git stash drop stash@{0}
git stash pop stash@{0}
日志
查看最近5条
git log --oneline -5
查看某个作者提交的
git log --oneline --author="yangqingjun"
所有包含 index 的提交
git log --oneline --grep='index'
某个日期之前的提交
git log --oneline --before='2019-01-01'
三天前的
--before='3 days'
图形界面查看
git log --oneline --graph
分支
查看当前分支
git status
查看所有分支
git branch
创建分支
git branch mobile-feature
切换分支
git checkout mobile-feature
显示分支的提交
git log --oneline --decorate
显示所有分支提交详情
git log --oneline --decorate --all
对比两个分支区别
git diff master..mobile-feature 后面可以加上文件名
合并分支
在master分支上
git merge mobile-feature
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。