美文网首页
Git基础命令与操作

Git基础命令与操作

作者: yuanzicheng | 来源:发表于2017-04-06 02:40 被阅读0次

    Git是一个分布式的版本控制系统,它在版本控制、分支管理方面有突出的表现。

    参考教程 Git教程

    git.png

    1.本地仓库

    1.1初始化

    cd到需要进行版本控制的目录下,对该目录的项目创建本地git版本库

    git init
    
    1.2工作区-->暂存区

    工作区就是当前目录,目录下的文件更改需要添加到暂存区。
    暂存区是版本库中用于接受git add文件的区域,可以理解为临时保存将要正式提交的文件。

    git add <file>
    
    1.3暂存区-->本地仓库

    暂存区中的文件经过commit之后,才会最终记录在版本库的记录中。

    git commit -m <comment>
    
    1.4查看状态
    git status
    
    1.5比较工作区与暂存区
    git diff
    
    1.6比较工作区与版本库最新提交
    git diff HEAD
    

    2版本管理

    2.1查看历史

    git log只能查看该commit之前的历史

    git log
    

    git reflog可以查看所有分支的所有操作(包括commit和reset)

    git reflog
    
    2.2回到前x个版本
    git reset --hard HEAD~x
    
    2.3回到某个版本
    git reset --hard <commit-id>
    
    2.4撤销工作区的修改

    场景1:文件修改后,未add到暂存区,直接丢弃更改;

    git checkout -- <file>
    

    场景2:文件修改后,已add到暂存区,先用git rest HEAD <file>回到场景1,再按场景1操作

    git reset HEAD <file>
    

    场景3:文件修改后,已add到暂存区,并且commit到版本库

    git reset HEAD <file>
    
    2.5删除文件

    在Git中,删除也是一种操作,需要使用git rm <file>(与git add <file>类似),删除之后还需要commit

    git rm <file>
    # 从git仓库移除文件,但不删除本地文件
    git rm --cached <file>
    

    3.远程仓库

    3.1将远程仓库克隆到本地
    git clone <remote-address>
    
    3.2关联远程git仓库
    git remote add origin <remote-address>
    
    3.3首次向远程仓库推送master
    git push -u origin master
    
    3.4从本地推送分支
    git push origin <branch>
    
    3.5从远程抓取当前分支
    git pull
    
    3.6在本地创建和远程分支对应的分支(分支名称最好一致)
    git checkout -b <branch> origin/<branch>
    
    3.7建立本地分支和远程分支的关联
    git branch --set-upstream <branch> origin/<branch>
    
    3.8将本地分支推送到远程(远程分支不存在)
    git push origin <local-branch>:<remote-branch>
    
    3.9将远程分支拉取到本地
    git checkout -b <local-branch> origin/<remote-branch>
    
    3.10查看远程库信息
    git remote -v   
    

    4.分支管理

    4.1创建分支
    git branch <branch>
    
    4.2切换分支
    git checkout <branch>
    
    4.3创建并切换分支
    git checkout -b branch_name
    
    4.4列出所有的分支
    git branch
    
    4.5合并指定分支到当前分支
    git merge [--abbrev-commit] [-m "message"] <branch>
    
    4.6删除分支
    git branch -d <branch>
    # 删除远程分支并推送到远程
    git branch -r -d <branch> && git push origin :<branch>
    
    4.7强行删除未合并的分支
    git branch -D branch_name
    
    4.8存储当前工作区
    git stash
    
    4.9查看保存的工作区
    git stash list
    
    4.10恢复stash但不删除
    git stash apply stash@{0}
    
    4.11删除stash
    git stash drop
    
    4.12恢复stash同时删除stash
    git stash pop
    
    4.12将当前分支rebase到目标分支
    git rebase <branch>
    

    5.标签管理

    5.1在当前分支的最新commit上创建标签
    git tag <tag-name>
    
    5.2查看所有标签
    git tag
    
    5.3在当前分支的指定commit_id上创建标签
    git tag <tag-name> <commit-id>
    
    5.4在当前分支的指定commit_id上创建带说明的标签
    git tag -a <tag-name> -m <comment> <commit-id>
    
    5.5查看标签信息
    git show <tag-name>
    
    5.6将标签推送到远程
    git push origin <tag-name>
    
    5.7推送所有未推送的本地标签到远程
    git push origin --tags
    
    5.8删除标签
    git tag -d <tag-name>
    
    5.9将本地删除的标签推送到远程(即删除远程标签)
    git tag push origin :refs/tags/<tag-name>
    
    5.10切换到指定的标签
    git checkout tag
    

    6.其它

    6.1检查文件是否被忽略
    git check-ignore -v <file>
    
    6.2配置yy命令的别名为xx
    git config --global alias.xx yy
    
    6.3配置git lg为各种git log附加效果的别名
    git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"
    

    相关文章

      网友评论

          本文标题:Git基础命令与操作

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