Chinaunix首页 | 论坛 | 博客
  • 博客访问: 269575
  • 博文数量: 28
  • 博客积分: 290
  • 博客等级: 二等列兵
  • 技术积分: 326
  • 用 户 组: 普通用户
  • 注册时间: 2006-05-10 12:12
文章分类

全部博文(28)

文章存档

2020年(1)

2018年(1)

2017年(3)

2015年(7)

2014年(9)

2010年(3)

2006年(4)

我的朋友

分类: C/C++

2017-10-14 17:59:48

Git教程
    项目
        创建项目目录:mkdir xxx
        进入项目目录:cd xxx
        创建、编辑、查看文本文件:vim xxx
        其它命令
            显示当前目录:ls
            显示当前路径:pwd
            显示文本文件:cat xxx
            快速创建文本文件
                创建或覆盖文件:date > xxx
                追加文件:date >> xxx
    仓库
        仓库的结构
            工作区
            暂存区
            版本区
        管理仓库
            初始化仓库:git init
            进行版本控制
                追踪文件:追踪还没有进行版本控制的文件
                    追踪单个文件:git add xxx
                    撤销追踪:git rm --cached xxx
                修改文件:对文件时行编辑
                    比较文件和快照,标识出未暂存的改动:git diff
                    比较文件和提交,标识出未提交的改动:git diff HEAD
                    撤销修改
                        使用编辑器撤销命令
                        抛弃所有修改并恢复到当前快照:git checkout xxx
                        抛弃所有修改并恢复到当前提交:git reset --hard HEAD~
                暂存改动:在暂存区生成工作区的快照,无论暂存多少次每个文件只有一个快照
                    暂存单个文件的改动:git add xxx
                    比较快照和提交,标识出未提交的改动:git diff --staged
                    一次性暂存所有文件的改动:git add .
                    撤销暂存(实际上是用当前提交的快照覆盖暂存区):git reset --mixed HEAD~
                提交改动:为暂存区的快照创建提交对象
                    提交已暂存的改动:git commit
                    一次性暂存并提交所有改动:git commit -a
                    查看提交历史:git log
                    补充提交:git commit --amend
                        补充标题:立刻提交
                        补充改动:修改暂存后提交
                    撤销提交:git reset --soft HEAD~
                管理提交
                    查看提交:最近的提交即为当前提交
                        查看当前分支的提交链:git log
                        查看所有分支的提交历史:git reflog
                    比较提交
                        比较当前提交的快照和暂存区的快照:git diff --staged
                        比较当前提交的快照和工作区的文件:git diff HEAD
                    切换当前提交:HEAD表示当前提交,HEAD~表示当前提交的父对象(即上个提交)
                        只切换主分支的HEAD到指定SHA-1值的提交:git reset --soft SHA-1
                        切换主分支的HEAD指向的提交并用提交的快照覆盖暂存区:git reset [--mixed] SHA-1
                        切换主分支的HEAD指向的提交并用提交的快照覆盖暂存区和工作区:git reset --hard SHA-1
                删除文件
                    直接删除:rm xxx
                    删除前撤销追踪:git rm xxx
                    撤销未提交的删除
                        撤销暂存:git reset HEAD xxx
                        撤销修改:git checkout xxx
        管理分支
            创建分支:git branch xxx
            查看分支:git branch
            切换分支:git checkout xxx
            合并分支到主分支:git merge xxx
            删除分支
                删除已被合并分支:git branch -d xxx
                删除未被合并分支:git branch -D xxx
        管理协作
            克隆仓库:复制指定项目并创建本地项目git clone othersProject myProject
            拉分支:取回指定项目的分支合并到当前分支git pull othersPorject othersBranch
                取分支:取回指定项目的分支
                    git fetch othersProject othersBranch
                查看
                    查看两个项目的不同:git log -p HEAD..FETCH_HEAD
                    使用图形界面查看两个项目的不同:gitk HEAD..FETCH_HEAD
                    gitk HEAD...FETCH_HEAD
                合并
            定义仓库路径短写法:git remote add bob /home/bob/myrepo
                使用短写法:git fetch bob
        辅助工具
            查看某个命令帮助文件:git help xxx
            查看修改内容
                查看原文件修改内容:git diff
                查看快照修改内容:git diff --cached
            查看状态:git status
                状态
                    未跟踪的文件:还没有进行版本控制的文件
                    已跟踪的文件:已经进行版本控制的文件
                        未修改的文件:没编辑过的文件
                            撤销修改:文件返回到未修改状态。git checkout -- xxx
                        未暂存的文件:修改后没有暂存的文件
                            撤销暂存:文件返回到已修改状态或未跟踪状态。git reset HEAD xxx
                        未提交的文件:暂存后没有提交的文件
            查看项目历史
                查处修改历史:git log
                git log -p
                git log --stat --summary
            查看配置信息:git config -l
            常用命令
                branch
                    创建分支:git branch xxx
                    列出本地分支:git branch
                    列出远程分支:git branch -r
                    列出本地和远程分支:git branch -a
                    重命名分支:git branch -m | -M oldbranch newbranch
                    删除分支:git branch -d | -D xxx
                    删除远程分支:git branch -d -r xxx
                commit
                    指定提交标题:git commit -m "commit title"
                rm
                    强制删除已暂存的文件:git rm -f xxx
                log
                    查看改动细节:git log -p
                    查看改动统计:git log --stat
                    指定显示数量:git log -2
                    指定格式化显示:git log --pretty
            常用配置
                忽略文件:指定仓库不追踪的文件或不显示未追踪文件的信息
                    在.gitignor文件中添加要忽略的文件
        其它
            reset和checkout有什么不同
                reset修改HEAD所指向的分支指向不同的提交
                checkout修改HEAD指向不同的分支

阅读(1823) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~