Git指令整理

jopen 9年前

准备工作

mkdir foldername  //创建文件夹    cd foldername  //进入文件夹    mkdir foldername && cd foldername //创建文件夹并进入    git init  //初始化 让这个目录成为git仓库    git status //查看仓库当前状态    git log  //查看工作日志 //q退出    git log --pretty=oneline //单行输入日志

提交操作

git add readme.txt //添加文件到仓库    git commit -m "update info" //从缓冲区更新到版本库    git commit -a -m "update info"//从工作区一次性更新到版本库

对比操作

git diff readme.txt //工作区和缓冲区的文件内容差异    git diff --cached   //缓冲区和版本库的文件内容差异    git diff master     //工作区和版本库的内容差异

撤销操作

git reset HEAD <filename>  //从缓冲区撤销回工作区    git checkout -- <filename> //工作区撤销回版本区的状态    git commit -m "info" --amend //从缓冲区撤销回工作区,然后再重新提交

删除操作

rm <filename> //删除文件    git rm <filename> //缓冲区删除文件,前提是工作区已经删除了该文件    git rm -f <filename> //缓冲区删除文件,工作区也一并删除了    git rm --cached <filename> //缓冲区删除文件,工作区不删除

恢复操作

//HEAD指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭    git checkout <commit id> <filename> //工作区删除文件,从指定版本库中恢复文件    git checkout test.txt//从版本库恢复    git reset --hard <commit id> //退回具体版本    git reset --hard HEAD^ //退回上一个版本    git reset --hard HEAD~<num> //退回指定数字前版本    git reflog //记录每一次命令

穿梭前,用git log可以查看提交历史,以便确定要回退到哪个版本。

要重返未来,用git reflog查看命令历史,以便确定要回到未来的哪个版本。

远程仓库操作

当你从远程仓库克隆时,实际上Git自动把本地的master分支和远程的master分支对应起来了,

并且,远程仓库的默认名称是origin。

//先有本地库 后有远程库  git remote add origin git@github.com:Aralic/learngit.git //关联远程库    git push -u origin master// 本地同步到github上    //先有远程库 克隆到本地  git clone git@github.com:Arliac/gitskills.git     git checkout -b dev //创建分支    git checkout master //切换回master 分支    git branch  //查看当前分支    git merge dev //在master分支下 合并dev分支    git branch -d dev //删除dev分支    git remote //查看远程库名字    git remote -v// 查看更详细信息    git push origin master//推送分支    git push origin dev //推送分支

远程仓库/代码冲突

git fetch //同步远程仓库    git diff master origin/master //查看一下和远程同步过来的代码差异    git merge origin/master //和远程仓库代码 合并到本地    git pull //直接和远程仓库合并代码

更多详情: http://www.liaoxuefeng.com/

原文 http://www.cnblogs.com/Aralic/p/4593032.html