Git 使用笔记
版本创建与回退
创建版本
git add code.txt
git commit -m '版本1'
查看版本
git log
版本回退
当前版本用HEAD
表示,如果前一个版本HEAD^
,前两个版本HEAD^^
,同理前三个版本就是^*3
。
同时可以使用HEAD~1
,HEAD~100
进行替代。
回到指定版本,需要使用git log
查看commit
版本号,只需要使用版本号前面几个字段。
# 回退到上一个版本
git reset --hard HEAD^
# 查看当前版本
git log
commit 8b40219e98faf639ba7583d37908abdb55751f6d
# 回退到指定版本
git reset --hard 8b40219e
# 以剪短的方式显示版本记录
git log --pretty=oneline
查看之前记录
git reflog
工作区和暂存区
工作区(Working Directoty)
电脑中的目录,比如我们的git-test,就是一个工作区。
版本库(Repository)
工作区有一个隐藏目录.git
,这个不是工作区,而是git的版本库。
git的版本库里存了很多东西,其中最重要的就是称为stage (或者叫index)的暂存区,还有git为我们自动创建的第一个分支master,以及指向master的一个指针叫HEAD。
如果文件已经放在暂存区想要取消更改必须先,取消暂存git reset HEAD file_name
在丢弃更改git checkout -- file_name
。
# 查看当前工作状态
git status
# 添加文件到暂存区 可以‘文件’,‘目录’。
git add file_name
# 使用 git checkout -- <文件> 丢弃工作区的改动
git checkout -- file_name
# 使用"git reset HEAD <文件>..."以取消哲存
git reset HEAD file_name
# 删除文件
git rm file_name
对比文件的不同
工作区和暂存区
git diff HEAD -- file_name
不同版本之间
git diff HEAD HEAD^ -- file_name
分支
基本操作
执行如下命令可以查看当前有几个分支并且看到在哪个分支下工作。
git branch
创建分支。
git branch dev
创建一个分支dev并切换到其上进行工作。
git checkout -b dev
切换分支。
git checkout master
合并某分支到当前分支,在master上面执行命令进行合并。
git merge dev
删除分支,在合并到master以后可以删除分支。
git branch -d dev
冲突解决
如果在两个分支上都有提交,并且编辑的还是同一个文件需要手动解决冲突。
git用<<<<<<<<
, ============
, >>>>>>>>
标记出不同分支的内容。
# 执行 git merge dev,会提示冲突文件。
git merge dev
# 查看冲突的文件。
git status
# 打开冲突的文件会有标记,删除不需要部分,并重新添加文件至暂存区。
vi file_name
git add file_name
git commit '版本说明'
使用git log --graph---pretty=oneline
可以查看分支合并的路径。
# 查看分支合并的路径
git log --graph --pretty=oneline
合并操作完成以后就可以删除分支。
当手头工作没有完成时,先把工作现场git stash
保存一下,然后去修复bug,修复后,再git stash pop
,回到工作现场。
GitHub使用
将本地分支跟踪服务器分支
git branch –set-upstream-to=origin/远程分支名称 本地分支名称
例:
git branch --set-upstream-to=origin/smart smart
上传和下载项目
# 拉取代码
git pull orgin smart
# 上传代码
git push orgin smart
克隆GitHub项目
git clone ‘项目名称’
文章目录
评论抢沙发