美文网首页
git 命令

git 命令

作者: 景岳 | 来源:发表于2016-09-21 11:22 被阅读16次

    Git 项目命令文档

    基础命令

    # 设置你的仓库用户名
    git config --global user.name "Your Name"
    
    # 设置你的仓库邮箱
    git config --global user.email "email@example.com"
    
    # 初始化一个 Git 仓库
    git init
    
    # 添加所有更改的文件
    git add --all
    
    # 可以添加指定文件
    git add filename
    
    # 添加更改的信息
    git commit -m "commit message"
    
    # 查看 Git 当前状态   
    git status
    
    # 查看 filename 文件改动
    git diff filename
    
    # 查看最近的提交日志  
    git log
    
    # 单行显示提交日志
    git log --pretty=oneline
    
    # 利用 Git log 得到的 commitID 返回版本
    git reset --hard commitID
    
    # 回到上一个版本
    git reset --hard HEAD^
    
    # 查看命令的历史,可以找到 Git log 看不到的 commitID, 因为 Git log 只显示当前的提交日志, 如果你提交了一次, 退回版本后又后悔了, 就能查看上次提交的 commitID
    git reflog
    
    # 利用版本库中的版本替换工作区中的文件.
    # 撤销文件修改分两种情况: 撤销工作区中的修改 (没有使用 Git add 命令添加到暂存区) 撤销暂存区中的修改 (添加到了暂存区又做了修改) 找回删除的文件工作区中文件误删了, 可以通过此命令从版本库中找回.
    git checkout -- filename1
    
    # 撤销 add, 回到工作区
    git reset HEAD filename
    
    # 删除文件
    git rm filename
    
    # 将本地库关联到 Github 远程库上
    git remote add origin https://github.com/demo/demo.git
    
    # 第一次推送的时候要加上 -u 参数, 可以将本地库的 master 分支与远程库的 master 分支关联起来, 下次提交就不需要加 -u 了
    git push -u origin master
    
    # 克隆远程库到本地
    git clone https://github.com/pengloo53/learngit.git  
    
    

    分支管理

    # 创建 dev 分支并切换到 dev, 相当于 git branch dev, git checkout dev 两条命令
    git checkout -b dev
    
    # 查看当前分支
    git branch
    
    # 合并指定分支到当前分支
    git merge dev
    
    # 删除 dev 分支 
    git branch -d dev
    
    # 查看分支合并图
    git log --graph --pretty=oneline --abbrev-commit
    
    # 禁用 ( Fast forward ) 也就是保留分支的相关信息
    git merge --no-ff -m "merge with no-ff" dev
    
    # 将工作区现场储藏起来, 等以后恢复后继续工作. 通常用于处理更为着急的任务时, 例如: bug.
    git stash
    
    # 查看保存的工作现场
    git stash list  
    
    # 恢复工作现场
    git stash apply
    
    # 删除 stash 内容   
    git stash drop
    
    # 恢复的同时直接删除 stash 内容
    git stash pop
    
    # 恢复指定的工作现场, 当你保存了不只一份工作现场时.
    git stash apply stash@{0}
    
    # 强行删除分支, 用于不需要合并, 就地删除的情况.
    git branch -D feature-vulcan
    
    # 查看远程库的信息, 一般返回 origin
    git remote
    
    # 查看远程库的详细信息
    git remote -v
    
    # 将本地 master 分支推送到远程 master 分支.
    git push origin master
    
    # 将远程库克隆到本地, 默认只能看到 master 分支.
    git clone https://github.com/pengloo53/learngit.git
    
    # 创建远程 dev 分⽀到本地 dev 分支
    git checkout -b dev origin/dev
    
    # 将远程分⽀的最新内容抓取下来并合并 ( 推荐使用 git fetch )
    git pull
    
    # 将本地 dev 分支与远程 dev 分支之间建立链接, 多人协作工作模式首先, 可以试图用 git push
    git branch --set-upstream dev origin/dev
    
    # 推送自己的修改, 如果推送失败, 则因为远程分支比你的本地更新, 需要先用 git pull 试图合并 ( 如果 git pull 提示 “no tracking information”, 则说明本地分支和远程分支的链接关系没有创建, 用命令 [git branch --set-upstream branch-name origin/branchname] 如果合并有冲突, 则解决冲突, 并在本地提交, 没有冲突或者解决掉冲突后, 再用 [git push origin branch-name] 推送就能成功.
    origin branch-name  
    
    

    标签管理

     # 给当前分支打上标签
     git tag v1.0
    
     # 查看所有的标签,按时间顺序列出.
     git tag
    
     # 缩略 commitID 并单行显示提交信息
     git log --pretty=oneline --abbrev-commit
    
     # 创建带有说明的标签, -a 指定标签名, -m 指定说明文字.
     git tag -a v0.1 -m "version 0.1 released" commitID
    
     # 删除标签 v0.1
     git tag -d v0.1 
    
     # 推送标签 1.0 到远程
     git push origin v1.0 
    
     # 推送所有的标签到远程
     git push origin --tags 
    
     # 删除远程标签, 但是前提是要先在本地删除对应标签.
     git push origin :refs/tags/v0.9
    
    

    搭建Git服务器

    # 安装 Git
    sudo apt-get install git
    
    # 添加 Git 用户
    sudo adduser git
    
    git clone --bare my_project my_project.git
    
    # 修改仓库的所属用户为 Git
    sudo chown -R git:git my_project.git  
    

    相关文章

      网友评论

          本文标题:git 命令

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