美文网首页
git 常用命令

git 常用命令

作者: 男人宫 | 来源:发表于2020-04-23 08:54 被阅读0次
    常用命令

    Git四种状态

    0.未被管理的文件(Untracked),检测到有新的的文件,但还没被git跟踪管理
    1.已修改(modified)修改了文件,但是还没有保存到数据库中
    2.已暂存(staged)对一个已修改的文件的当前版本做了标记,让其包含在下次提交的快照中
    3.已提交(committed)数据已经安全的保存在本地数据库中
    

    Git初始设置

    git config -global user.name "your name"  
    git config -global user.email youremail@email.com
    

    初始化仓库

    git init
    

    加入文件提交本地仓库

    git add .
    git commit -m '提交信息'
    git commit -a -m '提交信息'   //相当于上面两句
    

    克隆远程现有仓库

    git clone 远程仓库地址
    

    如果想定义本地的仓库名称,可以使用在后面加入自己的名称

    git clone 远程仓库地址 自定义仓库名
    

    检查当前文件状态

    git status
    

    查询文件更新哪些部分

    git diff
    

    删除指定文件

    git rm 文件名
    

    查看提交历史

    git log
    git reflog
    git log --pretty=oneline  //简单的输出提交的历史记录
    

    查看关联的远程仓库

    git remote   //查看关联的名字
    git remote -v   //查看远程仓库地址
    

    删除远程仓库

    git remote rm 远程仓库地址
    

    推送

    git push
    
    撤回操作

    在该工作区修改后如何撤回?

    1. git checkout -- filename 撤销特定文件工作区的修改
    2. git checkout . 撤销所有工作区的修改
    

    在git add 命令后 如何撤销已经加入到暂存区的文件呢?

    1.git reset HEAD -- . 撤销所有
    2.git reset HEAD -- filename 撤销特定目标
    3.git rm -cached filepath 将文件从缓存中删除
    //注意:上面的步骤是从暂存区撤回到工作区状态,若想工作区也撤回,再执行工作区的撤回方法
    

    已经提交了不合适的修改到版本库时,如何撤销本次提交?

    //前提是没有推送到远程库
    1. git log 或 git reflog 查看提交的版本号
    2. git reset --hard commitId(版本号)  回退到对应版本
    
    打标签

    列出已有标签

    git tag
    

    轻量级标签

    git tag 标签名
    

    附注标签

    git tag -a 标签名 -m '标签信息'
    

    标签信息和提交信息

    git show 标签名
    

    在对应的版本号上后期打标签

    git tag -a 标签名 版本号
    

    将标签推送到远程仓库

    git push origin 标签名  //需要先打上标签
    

    一次上传多个标签

    git push origin --tags
    
    分支操作

    创建分支

    git branch 分支名称
    

    删除分支

    git branch -d 分支名称
    

    强行删除未合并的分支

    git branch -D 分支名称
    

    删除远程分支

    方法一: git push origin --delete 远程分支名称
    方法二: git push origin :远程分支名称
    
    

    创建并切换到跟踪远程分支dev

    远程分支存在
    git checkout -b dev origin/dev
    git checkout --track origin/dev
    远程分支不存在,本地分支存在
    git push origin 本地分支名:远程分支名
    

    查看关联的远程分支

    git branch -vv
    

    查看分支合并图

    git log --graph
    

    创建并切换分支

    方法一: git switch -c dev 
    方法二: git checkout -b dev
    

    切换分支

    方法一: git switch dev 
    方法二: git checkout dev
    

    查看分子

    git branch
    

    查看分支最后一次提交的内容

    git branch -v
    

    查看哪些分支已经合并到当前分支

    git branch --merged
    

    查看未合并的分支

    git branch --no-merged
    

    合并分支

    //merge操作会生成一个新的节点,之前的提交分开显示。
    //而rebase操作不会生成新的节点,是将两个分支融合成一个线性的提交。
    git merge dev
    git rebase dev
    //merge
           D--------E
          /          \
     A---B---C---F----G---   dev, master
    //rebase
    A---B---D---E---C‘---F‘---   dev, master
    

    拉取

    git pull  //拉取并合并
    git pull --rebase
    git fetch  //只拉取到本地,并不会合并,需要程序员自己去git merge 去合并
    

    rebase好处

    想要更好的提交树,使用rebase操作会更好一点。
    这样可以线性的看到每一次提交,并且没有增加提交节点。

    merge 操作遇到冲突的时候,当前merge不能继续进行下去。手动修改冲突内容后,add 修改,commit 就可以了。

    而rebase 操作的话,会中断rebase,同时会提示去解决冲突。
    解决冲突后,将修改add后执行git rebase –continue继续操作,或者git rebase –skip忽略冲突。

    相关文章

      网友评论

          本文标题:git 常用命令

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