Git 学习笔记
命令
git init 初始化本地库
git status 查看当前状态
git add “文件名” 添加到暂存区
添加当前目录下的所有文件和子目录
git add .
git rm --cached “文件名” 将暂存区中的文件删去,工作区的不动
git commit -m “日志信息” “文件名” 将文件提交到本地库
git log /git reflog 查看版本,查看commit的日志(前者较详细)
git reset --hard 版本号 版本穿梭,变为另一个版本
git branch -v 查看分支
git branch “分支名” 添加分支
git checkout “分支名” 切换分支
git merge “分支名” 将分支合并到当前分支上
git remote -v 查看当前所有远程地址的别名
git remote add +“别名”+远程地址 给远程仓库地址起一个别名
git push +别名 + 分支 推送你的分支与数据到远端仓库
fetch与pull
git fetch
是将远程主机的最新内容拉取到本地,不进行合并
git fetch origin master
git pull
将远程主机的master分支最新内容拉取下来后与当前本地分支直接合并
git pull origin master:brantest
将远程主机 origin 的 master 分支拉取过来,与本地的 brantest 分支合并。
如果远程分支是与当前分支合并,则冒号后面的部分可以省略,如下:
git pull origin master
git clone 与 git pull
相同点
都是从远程服务器拉取代码到本地
不同点
git clone
是在本地没有版本库的时候,从远程服务器克隆整个版本库到本地,是一个本地从无到有的过程。
git pull
在本地有版本库的情况下,从远程库获取最新commit 数据(如果有的话),并merge(合并)到本地。
通常情况下,远程操作的第一步,是使用git clone从远程主机克隆一个版本库到本地。
本地修改代码后,每次从本地仓库push到远程仓库之前都要先进行git pull操作,保证push到远程仓库时没有版本冲突。
合并冲突时:
当前分支与要合并的分支有冲突,合并时会报错,如
当前分支(master)
要合并的分支(fenzhi)
合并后报错:
文件现在是:
<<<<HEAD到 === 之间的是当前分支(master),====到>>>>>是要合并的分支(fenzhi)
手动修改后
修改后重新添加到暂存区
之后提交
注意
此时提交不能带文件名了,否则回报错
正确做法: