官网学习文档
https://git-scm.com/book/zh/v2
=================================================================================
设置密钥(直接在git命令中设置)一路回车
ssh-keygen -t rsa -C "your.email@example.com"
查看密钥内容
cat ~/.ssh/id_rsa.pub
创建git仓库
git init
配置用户名、邮箱
设置全局用户名,邮箱
$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"
但是你的项目可能是公司自己搭建的gitlab进行管理的,那就需要单独针对这个项目单独配置用户名和邮箱。
在项目根目录下进行单独配置:
$ git config user.name "gitlab's Name"
$ git config user.email "gitlab@xx.com"
git bc --set-upstream-to=origin/dev
git config --list #查看所有配置信息
项目中常用
修改前先更新远程代码
git pull
查看本地修改的文件
git status
git status -s #简洁版查看 或用 git --short
查看修改的内容
git diff #全部修改内容
git diff <file全路径> #file的修改内容,路径可在git status中复制
git diff --staged #查看暂存区(add后)的修改内容
添加本地修改的到暂存区
git add <file1> <file2> ... #添加多个文件
git add . #添加全部,常用
提交暂存区到本地仓库
git commit -m "修改说明"
如果要提交本地全部修改,可以直接
git commit -am "修改说明" #相当于add和commit的结合,省去git add
提交远程仓库,最好先pull下,有冲突先解决
git push
查看commit 但未push 的内容
git cherry -v
查看版本
git branch -av -a 查看所有分支 -v 每个分支的最新提交版本号+说明
git tag 打标签
合并分支
git merge 分支名
日志
git log -3 #命令显示从最近到最远的提交日志,-3查看3条
git log --pretty=oneline #上面的简化版
git relog #回退版本后查看回退前的commit ID
撤销修改
撤销本地修改
git checkout . #撤销全部
git checkout <file全路径> #撤销file的修改,路径可在git status中复制
撤销add
git reset HEAD . #撤销所有add
git reset HEAD <file或文件夹的全路径> #撤销某个add文件或文件夹:路径可在git status中复制
撤销commit
git reset --hard HEAD^(或版本号) 回退版本 HEAD表示当前版本、 上个HEAD^、 上上个版HEAD^^、 HEAD~100, , 再git push -f ,reset会删除撤销前的commitId,所以要强制push,这里不建议使用
git reset --hard commit_id 撤销到指定commit ID, 再git push -f ,reset会删除撤销前的commitId,所以要强制push,这里不建议使用
git reset HEAD^ 撤销commit,<本地工作空间改动的代码>还在
git reset --soft HEAD^ 撤销commit,<git add>还在
git commit --amend 修改commit注释
撤销合并
git merge --abort 撤销上一次的合并分支
其他
git config --global alias.st status 配置别名(不建议用)
git commit --amend --reset-author 更新当前没提交的commitId的作者名、邮箱为最新的