15 Dec 2016 15:53 +0000

General

git init # 初始化当前目录为 git 仓库
git init --bare # 初始化当前目录为空 git 仓库 (作远程仓库)
git status # 显示当前branch, 及工作区/缓存区修改
git log # 提交日志
git reflog # 操作日志, 在不小心 reset 到之前的 HEAD 时很有用, 因为会记录所有操作记录, 包括被 reset 的提交

Files

git add {file} # 追踪/更新文件, 由工作区添加文件至缓存区
git rm {file} # 停止追踪文件, 从工作区和缓存区删除文件
git rm --cached {file} # 停止追踪文件, 从缓存区删除文件, 但在本地保留
git commit -m 'remark' # 提交缓存区修改至版本库, 必须用-m添加注释

分支(Branches)

git branch # 查看branch信息
git branch {branch} # 添加branch
git checkout {branch} # 切换至branch
git branch -d {branch} # 删除branch
git merge {branch} # 把指定分支merge到当前分支, 无参数默认fast-forward模式

仓库(Repository)

git reset # 重置HEAD, 刷新缓存区内容( = git reset --mixed HEAD)
git reset HEAD^ # 重置HEAD, 回退至上一版本, 刷新缓存区内容( = git reset --mixed HEAD^)
    # 当前版本为HEAD, 上一版本为HEAD^, 更前的版本为HEAD~n
git reset --mixed # 重置HEAD, 刷新缓存区内容
git reset --hard # 重置HEAD, 刷新缓存区和工作区内容
git rest --soft # 重置HEAD

远程仓库(Remote Repository)

git remote # 查看远程仓库列表
git remote -v # 查看远程仓库列表 (详细信息)
git remote add {name} {url} # 添加远程仓库
git remote add kvmla ssh://wujunchao@144.48.4.137/home/wujunchao/git/test.git # e.g.
git clone {url} # 克隆远程仓库 (克隆后的仓库会自动将本体设置为 origin 远程仓库)
git clone ~/git/test.git # e.g.
git remote remove {name} # 删除远程仓库
git push {name} {branch} # 推送指定branch至指定远程仓库(的对应branch)
git fetch {name} {branch} # 从指定远程仓库获取指定branch
git pull {name} {branch} # 从指定远程仓库获取指定branch并与本地merge( = git fetch; git merge)

Index

git update-index --assume-unchanged {file} # 忽略本地修改 (不提示)
git update-index --no-assume-unchanged {file}
git ls-files -v | grep ^[a-z] # 查看忽略的文件

Loading comments...