我的学习渠道是廖雪峰 git教程
git的工作区就是我们可以看见的目录
git的暂存区就是通过 git add放置到的位置
git的版本库是通过git commit指令放置到的位置
git add filepath # git将工作区的内容放到暂存区
git commit -m "提交说明“ # 将暂存区的内容放置到本地仓库
git push -u origin mater #首次推动将远程库的master和当前分支关联,未来只要使用git push origin dev_name就可以当前的分支推送到远程的dev_name分支。
当修改的内容有错误的时候:
git checkout -- readme.txt # 丢弃对工作区的修改,前提是这个工作区内容没有被add到暂存区
git reset HEAD readme.txt #将暂存区的修改撤销掉,放回到工作区;这里意味这我可以在执行这个操作之后,可以在工作区执行上面一条指令,进行修改的丢弃。重新对工作区readme.txt进行操作,然后add操作
git reset --hard HEAD # 如果这个修改的内容已经commit了,那就只能版本回退了
创建分支的指令
git checkout -b dev # 创建并切换到dev分支
git branch dev
git checkout dev #这两条指令和上面的指令功能一致
git branch -d/D dev # 删除dev分支,如果分支没有被合并,需要使用大写的D强制删除
git branch # 查看当前有哪些分支
git merge dev # 当我在mster分支时,这个指令将dev分支的内容merge到master分支上
git log --graph #可以查看分支的合并情况
git log --graph --pretty=oneline --abbrev-comiit #比较好看的log形式
git merge --no-ff -m 'merge no fast forward' dev
git reset --hard HEAD/HEAD/HEAD^ # 回退到上一个版本、上上个版本、上上上个版本
git reset --hard mdk454sdjihf #根据commitid回退到指定版本
git reflog # 查看操作指令记录。如果事先会退到过去的版本,然后想要回到未来的版本,那么就可以通过查看这个得到未来版本的cimmit id
git stash # 保存当前分支的工作区,去处理另一个分支的问题,这里需要没有add
git stash list #查看保存的工作现场
git stash apply stash@{0} #恢复分支的工作区
git stash drop # 恢复之后,丢弃stash区
git stash pop #这个和上面的两个指令的工作一样
git sherry-pick 4c805ec # 复制一个特定提交版本到现在的分支,首先需要先进入需要修改的分支;这个可以避免重读劳动
git remote -v # 查看远程该分支的名称
git push origin master/dev #推送远程分支
git checkout -b dev origin/dev #取远程dev分支到本地dev分支
git pull# 在push的时候遇到版本落后,需要先拉去最新版本
git branch --set-upstream-to=origin/dev dev # 明确远程和本地的链接
git tag #查看tag标签
git show v1.0
git tag v1.0
git tag v0.9 f52c6 #给之前的提交打标签,git log可以查看之前提交的commit_id
git tag -a v0.1 -m "说明" kcij345jf # 给标签带说明
git tag -d v0.1 # 删除标签
git push origin v1.0 # 将标签上传到远程服务器
git push origin --tags # git推送所有的标签
git tag -d v0.1 # git删除标签
git push origin :ref/tags/v0.1 # 删除远程的标签
git show # 查看最新一次提交的详情
git show commitId # 查看某次提交的详情
本地修改了一些内容之后,被告知远端有最新的更新,需要拉取之后再提交自己的改动
- 首先git add /git commit自己的改动
- 然后git pull 远端的改动
- 如果有冲突,则需要手动修改冲突
- 使用 git diff HEAD^ # 这个是查看上一次提交之前的的工作目录和git仓库之间的差异