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