zoukankan      html  css  js  c++  java
  • Git 命令

    git init命令把这个目录变成Git可以管理的仓库
    1. 创建一个目录  mkdir learngit
    2. cd 到该目录 cd learngit   运行git init 
    git add告诉Git,把文件添加到仓库--git add 是吧修改的文件 添加到缓存里
    git add readme.txt

    git commit -m "wrote a readme file"提交修改 -m是添加commit说明 可选项
    git status - 命令可以让我们时刻掌握仓库当前的状态, 有没有文件改变
    git diff - 顾名思义就是查看difference,显示的格式正是Unix通用的diff格式
    git log  命令显示从最近到最远的提交日志  ctrl+c 退出显示log界面
    git reset --hard HEAD^  恢复到上一个版本
    git reset --hard HEAD^^ 恢复到上上一个版本
    git reset --hard HEAD~100  恢复到以前指定数目一个版本
    git reflog   用来记录你的每一次命令可以找到 commit id号  ctrl+c 退出显示log界面
    git reset --hard 3628164  恢复到指定commit版本 版本号可通过git reflog查询
    git diff HEAD -- readme.txt  查看工作区和版本库里面最新版本的区别
    撤销修改
    git checkout -- readme.txt   readme.txt 文件回到最近一次git commitgit add时的状态, 如果没有--,就变成了“创建且个it切换到另一个分支”的命令
    1)readme.txt 自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状 态; 
    2)readme.txt 已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的 状态

    git reset HEAD readme.txt  用命令git reset HEAD file可以把暂存区的修改撤销掉(unstage),重新放回工作区

    删除文件
    git rm test.txt 然后 git commit -m "remove test.txt" 从库里删除一个文件
    git checkout -- test.txt 把误删的文件恢复到最新版本
    git checkout其实是用版本库里的版本替换工作区的版本,无论工作区是修改还是删除,都可以“一键还原”。

    分支管理
    git checkout -b dev 创建且切换分支  参数-b 表示创建并切换
    1. git branch dev 
    2. git checkout dev 
    git branch  查看所有分支
    git merge dev   合并指定分支到当前分支
    git branch -d dev 删除分支
    git log --graph     查看分支合并图
    小结 
    Git 鼓励大量使用分支: 
    查看分支:git branch 
    创建分支:git branch <name> 
    切换分支:git checkout <name> 
    创建+切换分支:git checkout -b <name> 
    合并某分支到当前分支:git merge <name> 
    删除分支:git branch -d <name> 
     
    决冲突 
    merge 如果发生冲突 需手动修改重复,重复提交
    Git 用<<<<<<<,=======,>>>>>>>标记出不同分支的内容,我们修改如下后保存: 


    分支管理策略
    git merge --no-ff -m "merge with no-ff" dev 禁用 Fast forward 模式
    git log --graph --pretty=oneline --abbrev-commit   查看分支的合并情况: 
    分支策略
    master 分支应该是非常稳定,不能在上面干活
    干活都在 dev 分支,发布时,再把 dev 分支合并到 master 上,在 master 分支发布 1.0 版本

    git stash       以把当前工作现场“储藏”起来
    git stash list   查看所有stash的信息
    git stash apply       恢复stash 但内容不删除
    git stash apply stash@{0}     恢复指定的 stash
    git stash drop    恢复stash 且删除内容

    远程操控
    git remote   远程库的信息    远程仓库的默认名称是 origin
    git remote -v   显示更详细的信息
    git push origin dev   把该分支推送到远程库对应的远程分支
    git   pull    origin first 拽取远程分支
    多人协作的工作模式通常是这样: 
     首先,可以试图用 git push origin branch-name 推送自己的修改; 
     如果推送失败,则因为远程分支比你的本地更新,需要先用 git pull 试图合并; 
     如果合并有冲突,则解决冲突,并在本地提交; 
     没有冲突或者解决掉冲突后,再用 git push origin branch-name 推送就能成功! 
     git pull 提示“no tracking information”,则说明本地分支和远程分支的链接关系没有创建, 用命令 git branch --set-upstream branch-name origin/branch-name。 
    小结
     查看远程库信息,使用 git remote -v; 
     本地新建的分支如果不推送到远程,对其他人就是不可见的; 
     从本地推送分支,使用 git push origin branch-name,如果推送失败,先用 git pull 抓 取远程的新提交; 
     在本地创建和远程分支对应的分支,使用 git checkout -b branch-name origin/branch-n ame,本地和远程分支的名称最好一致; 
     建立本地分支和远程分支的关联,使用 git branch --set-upstream branch-name origin/ branch-name; 
     从远程抓取分支,使用 git pull,如果有冲突,要先处理冲突。 

    标签管理 
    git tag v1.0  分支打个标签    默认标签是打在最新提交的 commit 上
    git tag       查看标签
    git tag v0.9   6224937  对制定的commit id 打标签
    git tag -a v0.1 -m "version 0.1 released" 3628164  打标签加说明文字
    git tag -s v0.2 -m "signed version 0.2 released" fec145a   通过-s 用私钥签名加
    git show <tagname>   查看标签信息: 
    小结 
     命令 git tag <name>用于新建一个标签,默认为 HEAD,也可以指定一个 commit id; 
     git tag -a <tagname> -m "blablabla..."可以指定标签信息; 
     git tag -s <tagname> -m "blablabla..."可以用 PGP 签名标签; 
     命令 git tag 可以查看所有标签。

    标签操作 
    git tag -d v0.1    删除
    git push origin v1.0    推送某个标签到远程
    git push origin --tags    推送全部尚未推送到远程的本地标签
    删除远程标
    1)git tag -d v0.9  先删除本地
    2)git push origin :refs/tags/v0.9  推送本地删除
    小结 
     命令 git push origin <tagname>可以推送一个本地标签; 
     命令 git push origin --tags 可以推送全部未推送过的本地标签; 
     命令 git tag -d <tagname>可以删除一个本地标签; 
     命令 git push origin :refs/tags/<tagname>可以删除一个远程标签。 

    git config --global color.ui true     让 Git 显示颜色
    git config --global alias.st status   给status 配置别名
    git config --global alias.unstage 'reset HEAD'  配置别名例子2






  • 相关阅读:
    hdu3001 Travelling
    android 对一个合并后的联系人选择编辑,手机屏幕会缓慢变暗后再进入编辑界面的问题
    数组指针与指针数组 函数指针与指针函数
    CF:322D
    QRadioButton类中Toggled()信号的使用方法
    Android---App Widget(四)
    github 坑爹的仓库初始化设置
    Failed to load session “ubuntu” -- 12.04
    Linux下的图形界面——X Window的安装
    用户管理操作示例
  • 原文地址:https://www.cnblogs.com/jjyyddss/p/8284142.html
Copyright © 2011-2022 走看看