美文网首页程序员
git 操作指令

git 操作指令

作者: haegyeong | 来源:发表于2020-06-10 14:15 被阅读0次

    列出当前所在的路径

    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

    相关文章

      网友评论

        本文标题:git 操作指令

        本文链接:https://www.haomeiwen.com/subject/nlrzkqtx.html