git 操作指令

列出当前所在的路径

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 的分支

先有项目更换仓库地址

  1. 先查看远程地址

git remote -v

  1. 重新设置git的新地址

git remote set-url origin https://gitee.com/null_665_7650/bulyfixbug.git

  1. 将项目上传到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

  1. xxxxxxxxxxxshi 要合并的commit id

git cherry-pick xxxxxxxxxxxxxx

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。