git init demo:创建并初始化仓库。
git add 文件名:将新建的文件添加到版本库。
git commit -m “提交说明” filename:提交filename文件到本地库。
git status <-s>:查看文件状态。
git status -s:查看精简的状态输出。
git log --stat:查看提交日志且可以看到变更统计。
git log退出方法:英文状态下按Q。
git diff:
git diff:查看工作区和暂存区的差异。
git diff HEAD:查看工作区和HEAD(当前工作分支)间的差异。
git diff --cached:查看提交暂存区(提交任务,stage)和版 本库中文件的差异。
git log --pretty=oneline:查看所有的提交记录。
git log --pretty=fuller:查看版本库的提交日志,可以看到历史提交代码记录。
工作区:写代码的地方。
暂存区:临时存储。(内容可以撤回)
本地库:历史版本。
Ubuntu下vim编辑后保存并退出:先按Esc,然后输入“:”,最后输入“wq!”
git reflog:HEAD@{移动到当前版本需要多少步}。
git reset --hard 索引值:移动到索引值对应的版本。
删除文件并找回:
前提:删除前,文件存在时的状态提交到了本地库。
操作:git reset --hard [指针位置]
- 删除操作已经提交到本地库:指针位置指向历史记录
- 删除操作未提交到本地库:指针位置使用HEAD。
分支:
git branch -v:查看文件分支。
git branch hot_fix(分支名):创建分支。
git checkout hot_fix:切换到hot_fix分支。
合并分支(将hot_fix分支合并到merge上):
- 第一步:切换到接受修改的分支上,git checkout master
- 第二步:执行merge命令,git merge hot_fix(有新内容的分支名)。
冲突的解决:
- 第一步:编辑文件,删除特殊符号
- 第二步:把文件修改到满意的程度
- 第三步:git add filename
- 第四步:git commit -m “日志信息”
- 注意:此时commit不可以带文件名
Git 和GitHub:
Github地址别名:git remote add 别名 git网址
git向远程仓库上传本地代码库:
- 在本地创建一个和远程仓库同名的项目,进入到项目中进行初始化:git init或者git init demo(demo是仓库名)。
- 把当前项目所有内容向git中添加:git add *
- 提交添加内容到本地库:git commit -m "文件描述"
- 查看本地分支:git branch -a
- 查看远程分支信息:git remote -v
如果输出信息为空,表示还没有添加远程主机,进行远程主机添加。
git remote add <主机名> <网址>,例如:
git remote add origin git@47.100.64.99:/home/data/git/app.git
- 将本地库push到远程仓库:git push origin master
客户端clone远程仓库:
git clone git@47.100.64.99:/home/data/git/app.git