
Git
twc829
这个作者很懒,什么都没留下…
展开
-
Introduction
Git——分布式版本控制系统分布式在于用户可在本地或web上的存储资源工作;实现在无网络时在本地工作,即修改代码,等到连接到互联网便可将数据发送回远程服务器;在本地创建资源库,允许只从新项目启动,在命令行窗口键入git init ,自动创建一个文件夹,其中包含隐藏文件夹.git;添加远程目标,与其他人合作,键入git remote add origin https://github原创 2016-05-05 11:09:28 · 299 阅读 · 0 评论 -
Reflog
1 git reflog提供线性历史,追踪制造的commit、丢弃的commit,提供30天的缓冲时间,在此期间可从任何错误中恢复,错误包括git reset命令带来不好的部分、分支的删除、rebase消失等;是做频繁提交的动力,因为可以通过reflog查看和reset恢复;对于没有提交的修改,在工作区或在暂存区都是有风险的;2 gitk --all 'git reflog | cut原创 2016-05-06 19:19:00 · 786 阅读 · 0 评论 -
Reset
reset允许塑造仓库历史,如撤销一些修改,或把提交弄的不一样;1 三种模式1.1 soft模式选取一条或多条提交,将它们全部改变放回到暂存区,在此基础上继续创建新的提交;把几条提交当作一个commit,压缩近暂存区;$ git reset --soft HEAD~5$ git status$ git commit1.2 mixed模式(默认,推荐) 修改历史和工作原创 2016-05-06 18:36:15 · 583 阅读 · 0 评论 -
Fork & Pull Request
1 fork获取仓库并拷贝懂啊自己的账户下;2 pull request把一些修改上传至其他github仓库中;原创 2016-05-06 17:13:22 · 386 阅读 · 0 评论 -
Network
1 远端1.1 创建远端在本地拥有一个Git仓库,还需要把修改发送到哪里$ git remote add 其中,目的地名字是自己容易记住的;如,$ git remote add origin https://github.com/XXX1.2 修改URL$ git remote set-url 1.3 删除远端$ git remote rm 如$ g原创 2016-05-06 16:51:07 · 358 阅读 · 0 评论 -
Merge
把分支和多条线的历史操作汇聚起来1 合并合并分支后,当前分支拥有累积结果,包括文件、修改和历史,一部分原来在另一个分支上的;$ git checkout master$ git branch # 确认该分支有我们要合并的提交$ git merge 2 解决冲突合并过程中可能遇到冲突$ git merge # 出现冲突原创 2016-05-06 16:13:35 · 459 阅读 · 0 评论 -
Checkout
1 切换分支查看当前分支git branch/ git status查看所有分支git branch -a切换分支git checkout 分支名2 detached HEAD若让HEAD指向一个commit id,就会变成detached HEAD,git checkout可达到这个效果;$ git logcommit 62ed644...commit 326原创 2016-05-06 15:45:01 · 500 阅读 · 0 评论 -
Branch
1 为什么使用分支?可从开发主线分离出来,在不影响主线的同时继续工作;添加一个新特性或修复一个bug,通过建立新分支避免冲突发生;2 创建和删除分支创建分支:git branch 新分支名删除分支:git branch -d 分支名 强制删除分支:git branch -D 分支名注意:不能删除正在使用的分支,需要切换到其他分支再作删除,除非使用强制删除;3 切换原创 2016-05-06 11:31:06 · 422 阅读 · 0 评论 -
Ignore
1 touch .gitignoregit add .gitignoregit commit -m ""原创 2016-05-06 11:05:17 · 523 阅读 · 0 评论 -
Move
1 移动和重命名是一回事方法1: "git mv 原路径 新路径",已暂存move方法2:先 "mv 原路径 新路径",再"git status", "git rm ", "git add "2 git add -A发现所有移动的新文件,删除所有原来旧文件,并暂存3 git log --stat -M --follow 文件名查看文件移动过程中跟踪文件原创 2016-05-05 23:50:15 · 303 阅读 · 0 评论 -
Remove
1 git rm只有一个文件要删除方法1:直接键入命令 "git rm 文件名",删除并暂存(后续只需commit)方法2:先删除文件 "rm 文件名",再使用"git rm 文件名"进行暂存2 git add -u .有很多文件要删除,遍历工作树,寻找之前已识别的文件,并暂存它们的删除其中,.表示当前工作目录的简写,从当前目录递归到最深处3 git rm --cach原创 2016-05-05 23:44:00 · 276 阅读 · 0 评论 -
Log
1 git log查看全部提交记录2 --oneline, --statgit log --oneline 查看提交概要git log --stat 查看提交信息以及提交的文件3 --patchgit log --patch 查看提交之间文件修改的内容4 --patch --onelinegit log --patch --oneline 查看提交信息概括,并查看不原创 2016-05-05 23:36:07 · 237 阅读 · 0 评论 -
Diff
1 "git diff"与暂存区相比,对未存档的文件做哪些修改;2 --staged, HEAD2.1 已存档的文件,查看暂存区和最近提交的历史文件的区别"git diff --stages"2.2 查看文件修改与最新提交的历史文件的区别"git diff HEAD"其中,HEAD表示最后一次提交的别名;HEAD^表示前一次提交的别名;HEAD~n标识前n次提交的别名;原创 2016-05-05 23:29:03 · 305 阅读 · 0 评论 -
Commit
1 命令行窗口在本地,修改文件后,"git status" 查看可能需被提交的文件;"git add 文件名" 将文件放入暂存区;"git commit -m "注释"" 将文件放入工作区;2 github.com3 github的MAC/Windows在本地使用桌面版的github;原创 2016-05-05 23:20:39 · 417 阅读 · 0 评论 -
Init
在本地或在github.com云端完成初始化;1 本地仓库local repersitory若以建立项目,想将其做成版本空值,切换到该项目目录下,键入命令git init;若未建立项目,直接键入命令git init 目录名称;2 在github.com上右上角有一个”Create a new repo“按钮;3 连接本地与远程github原创 2016-05-05 23:16:16 · 308 阅读 · 0 评论 -
Config
1 设置user.name和user.emailgit config --global user.name "your_name"git config --global user.email "your_email"2 配置行尾和颜色git config --global core.autocrlf truegit config --global core.autocrlf i原创 2016-05-05 23:12:22 · 308 阅读 · 0 评论 -
Setup
1 安装Git命令行界面:git-scm.com图形界面:windows.github.com2 拥有github账号原创 2016-05-05 23:04:27 · 313 阅读 · 0 评论 -
Rebase
git rebase,重新定义(re)起点(base)的作用,即重新定义分支的版本库状态。要搞清楚这个东西,要先看看版本库状态切换的两种情况:我们知道,在某个分支上,我们可以通过git reset,实现将当前分支切换到本分支以前的任何一个版本状态,即所谓的“回溯”。即实现了本分支的“后悔药”。也即版本控制系统的初衷。还有另一种情况,当我们的项目有多个分支的时候。我们除了在本地开发的时候可能转载 2016-05-06 20:20:21 · 1349 阅读 · 0 评论