git工作流程
git在本地有三个区域 工作区 暂存区 版本库
git命令
添加用户信息
git config --global user.name "huandada"
git config --global user.email "1358770684@qq.com"
初始化
mkdir test-pro
cd test-pro
git init 初始化命令,在当前目录下生成.git,即当前文件夹被管理
git remote add origin https://gitee.com/huandadayy/test.git 连接远程仓库,并取名为origin
git status 查看git各个库文件的情况
# 红色表示未被管理
# 绿色表示在暂存区
git add . 将当前工作区的文件提交到暂存区
git commit -m "提交说明" 将暂存区内容提交到版本库
git push origin master 将本地master分支提交到远程仓库origin的master分支,最后一个参数表示本地master
git clone https://gitee.com/huandadayy/test.git 将远程仓库clone到本地
忽略文件:
- 空文件就算提交了也是不被管理的
- 指定某些文件或文件夹不被git管理
在.git的同级目录下创建 .gitignore文件,在里面写上要忽略的文件/文件夹,以行分隔
/newdir/ 根路径下的newdir目录不被管理
*.txt 整个项目中.txt结尾的文件将被忽略
*.log* 整个项目中文件名有 .log 的文件将被忽略
git log 查看版本管理的日志
回滚:
git check . 工作区回滚到最新版本,如果暂存区有则工作区回滚到暂存区的版本,没有则版本库的最新版本。新建的还没有被管理的文件不变
git reset --hard 版本号 回滚到某个版本库的某个版本
分支操作:
git branch 查看本地分支(绿色为当前所在分支)
git branch -a 查看本地与远程分支
git branch dev 创建分支dev
git checkout -b dev 创建并切换到分支dev
git checkout dev 切换到分支dev
git branch -d dev 删除dev分支
git merge dev 将dev分支合并到master上,先切换到master,执行此命令
合并代码出现冲突:
- 同一个分支拉取时的冲突
- 不同分支合并时的冲突
1. 使用git pull 产生冲突
查看有冲突的文件
111
<<<<<<< HEAD
vsdgdsvgcvx234543454bahnjm #这一部分是本地冲突内容
=======
vsdgdsvgcvx2sdcxzbahnjmsaz45546 #这一部分是远程拉下来的冲突内容
>>>>>>> ffb146d27aa6765f3e4726ced9347fb953f1607a
master
根据你的需要对冲突内容进行更改,例如这里删除本地,保留远程的:
111
vsdgdsvgcvx2sdcxzbahnjmsaz45546 #这一部分是远程拉下来的冲突内容
master
2. git merge 某分支产生冲突
也是和上面一样根据需求对冲突内容更改
然后 提交到远程仓库
git add .
git commit -m "xxx"
git push origin 分支名
还有一个变基的git rebase 命令用于合并代码,没看懂怎么用。