配置用户信息,设置用户名和邮箱
git config --global user.name "xxxx"
git config --global user.email "xxxx"
注意:使用了--global选项,那么该命令只需要运行一次,即可永久生效
查看所有全局配置项
git config --list --global
查看指定的全局配置项
git config user.name
git config user.email
打开git config命令的帮助手册
git help config
获取更简明的help输出
git config -h
初始化git仓库
git init
清空git bash面板
clear
查看文件所处状态
git status
以精简方式显示文件状态
git status -s
git status --short
跟踪新文件
git add 文件名
提交更新
git commit -m "对提交的内容的描述"
撤销对文件的修改且无法恢复(比较危险,谨慎操作)
git checkout -- 文件名
向暂存区中一次性添加多个文件
git add .
取消暂存的文件
git reset HEAD 要移除的文件名
移除多个文件
git reset HEAD .
跳过使用暂存区域,工作区->git仓库
git commit -a -m "描述信息"
移除文件
从git仓库和工作区中同时移除某文件
git rm -f 文件名
只从git仓库中移除文件,但保留工作区中的文件
git rm --cached 文件名
忽略文件
创建一个名为.gitignore的配置文件
格式规范如下:
1.以#开头的是注释
2.以/结尾的是目录
3.以/开头防止递归
4.以!开头表示取反
5.可以使用glob模式进行文件和文件夹的匹配(glob指简化了的正则表达式)
glob模式
1.星号*表示匹配零个或多个任意字符
2.[abc]匹配任何一个列在方括号中的字符
3.问号?指匹配一个任意字符
4.在方括号中使用短划线分割两个字符,表示所有在这两个字符范围内的都可以匹配(比如[0-9]表示匹配所有0到9的数字)
-
两个星号**表示匹配任意中间目录(比如a/**/z可以匹配a/z、a/b/z或a/b/c/z等)
查看提交历史
按时间先后顺序列出所有的提交历史,最近的提交在最上面
git log
只展示最新的两条提交历史,数字可以按需填写
git log -2
在一行上展示最近两条提交历史的信息
git log -2 --pretty=oneline
在一行上展示最近两条提交历史的信息,并自定义输出的格式
git log -2 --pretty=format:"%h | %an | %ar | %s"
%h提交的简写哈希值 %an作者名字 %ar作者修订日期,按多久以前的方式显示 %s提交说明
回退到指定的版本
在一行上展示所有的提交历史
git log --pretty=oneline
使用git reset --hard命令,根据指定的提交ID回退到指定版本
git reset --hard<CommitID>
在旧版本中使用git reflog --pretty=oneline命令,查看命令操作的历史
git reflog --pretty=oneline
再次根据最新的提交ID,跳转到最新的版本
git reset --hard<CommitID>
基于https将本地仓库上传到github(每次登录时需要输入账号和密码)
将本地仓库和远程仓库进行关联,并把远程仓库命名为origin
git remote add origin https://xxxx
将本地仓库中的内容推送到远程的origin仓库中
git push -u origin master(第一次向远程仓库推送)
git push(第二次及以后)
基于ssh方式上传(配置完成后不用每次输入账号密码)
1.生成ssh key
打开git bash
ssh-keygen -t rsa -b 4096 -C "注册github账号时使用的邮箱"
连续敲击3此回车,即可在C:\Users\用户名文件夹\.ssh目录中生成id_rsa和id_rsa.pub两个文件
2.配置ssh key
使用纪事本打开id_rsa.pub文件,复制里面的文本内容
在浏览器中 登录git hub,点击头像->settings->ssh and gpg keys->new ssh key
将id_rsa.pub文件中的内容粘贴到key对应的文本框中
在title文本框中任意填写一个名称,来标识这个key从何而来
检测git hub 的ssh key是否配置成功
在git bash中输入
ssh -T git@github.com
3.基于ssh方式上传
git remote add origin ssh key生成的
git push -u origin master
将远程仓库克隆到本地
git clone 远程仓库的地址
查看当前git仓库中所有的分支列表
git branch
创建新分支(此时新分支中的代码与当前分支完全一样,并且用户还是处于master分支上)
git branch 分支名称
切换分支
git checkout 分支名称
分支的快速创建和切换
创建指定名称的新分支,并立即切换到新分支上
git checkout -b 分支名称
合并分支
1.切换到主分支
git checkout master
2.将login分支的代码合并到master
git merge login
删除分支
git branch -d 分支名称
遇到冲突时的分支合并
如果在两个不同的分支中对同一个文件进行了不同的修改,git就不能自动合并,此时只能手动解决冲突
冲突解决后
git add .
git commit -m "解决了分支合并冲突"
将本地分支推送到远程仓库
-u表示把本地分支和远程分支进行关联,只在第一次推送的时候需要带-u参数,之后可以直接用git push
git push -u 远程仓库的别名 本地分支名称:远程分支名称
(git push -u origin payment:pay)
如果希望远程分支的名称和本地分支名称保持一致,可以对命令进行简化
git push -u origin payment
查看远程仓库中所有的分支列表
git remote show 远程仓库名称
跟踪分支(从远程仓库中,把远程分支下载到本地仓库中)
把远程分支下载到本地仓库中保持本地分支和远程分支名称相同
git checkout 远程分支的名称
(git checkout pay)
把远程分支下载到本地仓库中但进行重命名
git checkout -b 本地分支名称 远程仓库名称/远程分支名称
git checkout -b payment origin/pay
从远程仓库拉取当前分支的最新代码,保持当前分支代码和远程分支代码的一致
git pull
删除远程仓库中指定名称的远程分支
git push 远程仓库名称 --delete 远程分支名称
(git push origin --delete pay)