git init
git add
git log
添加文件
git push [remote-name] [branch-name]
git fetch [remote-name]
取消暂存区域中的文件
撤消操作
git rm --cached readme.txt
远程仓库
如果只是想回退版本,同时保留刚才的修改以便将来继续工作,可以用下章介绍的 stashing 和分支来处理,应该会更好些
git diff --[staged | cached ]
从已跟踪文件清单中移除(确切地说,是从暂存区域移除)并连带从工作目录中删除指定的文件
所有文件未跟踪(untracked)
已放入暂存区(staged)
-p 选项展开显示每次提交的内容差异,用 -2 则仅显示最近的两次更新
提交版本
git commit -a -m
如果只是简单地从工作目录中手工删除文件,运行 git status 时就会在 “Changes not staged for commit” 部分
文件已修改(modified)
要添加一个新的远程仓库
git status
编辑内容
git clone
运行了 git add 之后又作了修订的文件,需要重新运行 git add 把最新版本重新暂存起来
相当于
先有项目目录
使用-a选项
看已经暂存起来的文件和上次提交时的快照之间的差异
git remote show [remote-name]
git mv file_from file_to
提交完了才发现漏掉了几个文件没有加,或者提交信息写错了。想要撤消刚才的提交操作
回顾下提交历史
git commit --amend
git reset HEAD
我们想把文件从 Git 仓库中删除(亦即从暂存区域移除),但仍然希望保留在当前工作目录中。换句话说,仅是从跟踪清单中删除。比如一些大型日志文件或者一堆 .a 编译文件,不小心纳入仓库后,要移除跟踪但不删除文件,以便稍后在 .gitignore 文件中补上
git remote
git commit -m
添加追踪文件并放入暂存区
git clone 命令本质上就是自动创建了本地的 master 分支用于跟踪远程仓库中的 master 分支(假设远程仓库确实有 master 分支)
自动抓取数据下来,然后将远端分支自动合并到本地仓库中当前分支
git remote add [shortname] [url]
git remote rmgit remote rm paul
已跟踪,且未更新(unmodified)
git diff
列出所有的更新,最近的更新排在最上面
自动把所有已经跟踪过的文件暂存起来一并提交,从而跳过 git add 步骤
列出每个远程库的简短名字。在克隆完某个项目后,至少可以看到一个名为 origin 的远程库,Git 默认使用这个名字来标识你所克隆的原始仓库
工作目录中当前文件和暂存区域快照之间的差异,也就是修改之后还没有暂存起来的变化内容
重命名
git rm
$ mv README.txt README$ git rm README.txt$ git add README
查看远程仓库信息
用于合并时把有冲突的文件标记为已解决状态
git remote renamegit remote rename pb paul
来源是其他已有仓库
把已跟踪的文件放到暂存区
git pull
如果觉得刚才对 benchmarks.rb 的修改完全没有必要,该如何取消修改,回到之前的状态(也就是修改之前的版本)
推送数据到远程仓库
git checkout -- ...