【Lehr】Git学习笔记
Git学习笔记
Git是一个开源的分布式版本控制系统
Github则是全球最大同性交友平台一个项目托管网站
Git的工作原理
工作区(文件夹里可见部分)----->暂存区(.git里)----->版本区(.git里)
把工作区的文件加入到暂存区里,然后从暂存区提交到版本区,版本区文件更新。
版本区里有一个HEAD指针指向最新的版本,可以通过调节指针来回到之前的版本,并把版本区里的代码放回到工作区或者暂存区。
版本区里也会有多条分支,可以对不同分支进行单独的升级或租分支之间的合并以此实现版本管理。
Git的常用代码
mkdir xx
创建文件夹
vi x.txt
创建文件,输入i进入编辑,Esc+:+wq保存退出,+q!不保存退出
cat x.txt
查看文件
git init
把当前文件夹作为仓库
git add xx
把工作区的某文件加入暂存区
git commit -m 'message'
把暂存区的文件全部加入到版本区,同时可以写上一句说明
git status
查看暂存区文件状态,红色表示在工作区,绿色表示在暂存区但未提交
git rm filename
删除文件,但前提是要被git管理的才行
git rm -r xxx
删除文件夹
git diff filename
对比某个文件前后的修改
git diff
比较暂存区和工作区
git diff --cached
比较版本区和暂存区
git diff master
比较版本区和工作区
git log
显示提交以来的所有日志
git reflog
显示每次提交的com mit id版本号(简短版日志)
git reset --hard HEAD^
回退一次版本(用^最多两次)
git reset --hard Obfafd
按照版本号来回退
git reset HEAD
用版本库替换缓存区所有
git checkout --x.txt
用暂存区区替换工作区(危险)
git checkout HEAD x.txt
用版本区替换工作区(危险)
git rm --cached x.txt
删除暂存区某文件
分支操作
git checkout -b xxx
创建一个叫xxx的分支
git branch
查看当前所有的分支
git checkout xxx
切换到xxx分支
git branch -d xxx
删除xxx分支
git merge xxx
把xxx分支合并到当前分支
注意:master为空的时候创建分支就会删掉原来的master分支!
当只有一个分支的时候输入git branch没用
Git与GitHub
Git可以通过push和pull来与你的GitHub交互
与GitHub建立联系
首先在GitHub和你的电脑上分别建立一个仓库,最好是名字一样
然后输入:git remote add origin https://xxxxxx.git
建立关联
以后每次只需用origin
来指代你的https://xxxxxx.git
就可以了
Push、Pull和Clone
git push -u origin master
:把当前的主分支上传到你的GitHub
git push -u origin master
:把远程仓库的最新版本下载回来放到工作区。
git clone https://xxxxxxxx.git
:在你的仓库下克隆一个别人的仓库,与直接下载相比,这样下的仓库以后可以随便用git指令来Pull到最新版本。
其实很多编译器也自带了Git插件来方便使用,比如eclipse的egit