列出当前所在的路径
pwd
创建一个名称为doc的文件夹
mkdir doc
进入doc文件夹
cd doc
查看git 文件管控状态
git status
初始化git 目录 【已经创建好的项目】
git init
创建一个名称为projectName的git仓库【针对一个全空的仓库创建】
git init projectName
查看git配置,local为本仓库,global 为当前用户的所有仓库 , system 本系统的所有用户
git config --list [--local | --global | --system]
添加git配置,用户名称
git config --global user.name ‘your name’
添加git配置,用户邮箱
git config --global user.email ‘your email’
将文件 readMe、文件夹doc 加入到暂存区
git add readMe doc
把已经被git 管控了的所有变更的文件都纳入暂存区【不会提交新文件(untracked file)】
git add -u
将git管控的文件和新增的文件都添加到暂存区【不包含删除的文件】
git add .
将git 管控的文件修改、新增、删除都添加到暂存区【包含以上两种命令的操作】
git add -A 或 git add -all
不经过add的操作到暂存区,直接提交commit操作
git commit -am'commit log'
查看所有分支的历史
git log --all
图形化查看所有分支的log
git log --all --graph
查看单行的简洁log
git log --oneline
查看最近的四条简洁log
git log --oneline -n4
查看所有分支最近5条简洁的图形化log
git log --oneline --all -n5 --graph
给文件重命名
git mv oldFileName newFileName
查看2d85sd文件的内容
git cat-file -p 2d85sd
产看2d85sd文件的类型
git cat-file -t 2d85sd
覆盖缓存区所有文件,还原最新的提交
git reset --hard
分离头指针 具体为直接从一个commit直接 checkout 出来的分支(注意:不是checkout -b),此时该分支并没有依赖任何一个分支,git 过段时间会自动清理这些分支,会导致代码丢失,所以该操作主要用在 针对某个commit 上检验某种分案是否可行,如果可行,则执行git branch newBranchName 2d8dk82 命令,则可以针对2d8dk82 该次的commit上新建一个名为newBranchName 分支
git checkout 2d8dk82 分离头指针
git branch newBranchName 2d8dk82
进入图形化页面
gitk --all
** 列出当前目录的所有文件追加 -al 查看文件信息,包括文件的类型与权限、大小、修改时间等**
ls [ -al ]
查看所有分支
git branch -av
根据某个分支checkout 并切换到该分支上 可以根据某个分支源上或者某个commit哈希值来进行创建分支(默认为当前分支上创建分支)
git checkout -b newBranchName [ sourceBranchName | commit哈希值 ]
对比两个commit的差异 注意:末尾还可以跟上具体文件名,显示该文件的差异
git diff commitID1 commitID2 【对比两个commit的差异】
git diff HEAD commitID1 【对比HEAD 和commitID1 的差异】
git diff HEAD 【对比HEAD 和暂存区的差异】
保存现场代码 应用场景:如果有一天,你要接到一个紧急的bug要处理,但是现在手头上的这份代码还没写完,又不想生成一个commit提交,那么可以使用stash 来保存现场代码。当执行完这句命令,你修改的代码就会被临时保存起来,然后恢复该分支最新的一个commit状态。当你改完紧急的bug后,你可以通过恢复现场代码来,恢复刚刚保存的现场代码,继续写。
git stash 默认的保存方式,一般用下面这种比较好,可以描述现场代码
git stash save stashName 保存为stashName的现场,这样更加容易区分是什么现场代码
现场代码列表查看 可以查看你保存的现场代码列表,其中stash@{x} ,x数字越大,表示现场代码是越旧
git stash list
apply 方式恢复现场代码 该方式恢复现场代码,在现场代码列表中还会保存着,并没有从列表中删除
git stash apply 默认恢复的现场代码为最新保存的现场代码
git stash apply stash@{x} 恢复指定的现场代码
pop 方式恢复现场代码 该方式恢复现场代码,会从现场列表代码中弹出,并从列表中删除该现场代码
git stash pop 默认恢复的现场代码为最新保存的现场代码
git stash pop stash@{x} 恢复指定的现场代码
删除现场代码
git stash drop 默认删除最新保存的现场代码
git stash drop stash@{x} 删除指定的现场代码
删除本地分支
git branch -d branchName 删除分支名为branchName的分支,如果该分支代码有修改过,而又未曾被合并,执行该命令会提示错误。咨询是否需要强制删除,如果确保修改的代码无用的话,则使用如下语句进行强制性删除
git branch -D branchName
删除远程分支
git push origin --delete branchName 删除远程分支名为branchName 的分支
先有项目更换仓库地址
- 先查看远程地址
git remote -v
- 重新设置git的新地址
git remote set-url origin https://gitee.com/null_665_7650/bulyfixbug.git
- 将项目上传到git上
git push -u origin --all
git push -u origin --tags
git合并某个提交commit到指定的分支上
1.查看提交的日志,复制要合并的那个分支的commit id
git log
2.bugfix 要合并commit id 的分支
git checkout bugfix
- xxxxxxxxxxxshi 要合并的commit id
git cherry-pick xxxxxxxxxxxxxx