序言
本文是个人开发过程中使用git的一篇记录文章,多数是项目中经常用到的一些命令行。
git 命令行
一、git项目上传流程(方案1:该情况为直接拉取远程库)
1、拉取git地址
git clone 链接地址
git clone 链接地址
可以指定拉取下的项目放在哪个文件夹中
2、修改拉取的项目
可以随便添加一个文件夹
3、将项目的所有文件添加到暂缓区
git add .
4、编写提交说明可以更加清晰
git commit -m "项目测试第一版"
5、上传项目
git push
二、git项目上传流程(方案二:本地初始化git再连接远程仓库 ) 【组长】
1、本地先创建一个文件夹
2、初始化本地仓库
git init
3、将项目所有文件添加到暂缓区
git add .
4、编写上传说明
git commit -m "上传说明"
5、将本地项目与远程仓库连接
git remote add origin 仓库地址
6、将本地项目上传到远程仓库
git pull
该报错解决办法:需要绑定一个上游分支
git branch --set-upstream-to=origin/master // 解决办法
该报错:合并两者没有共同祖先,拒绝合并
git merge --allow-unrelated-histories // 解决办法
三、git 项目拉取操作【组员】
1、首先拉取远程库代码
git clone 远程库 //此时拉取的默认分支代码
2.创建自己分支
git checkout -b coderzzp
3. 拉取拥有最新代码的分支
git pull origin dev
4. 提交基于自己本地分支增加代码到远程分支
git add .
git commit -m "测试地址"
git push origin newcoderzzp
5.再次修改提交会提示 (需要绑定上游分支)
// 绑定上游分支后,往后才可以直接使用git push 提交 第四步 git push origin newcoderzzp遗留的一个小bug
git branch --set-upstream-to=origin/newcodezzp
git push
四、回退版本
1、找到需要回退的版本号
git log // 版本历史的记录
git log --pretty=oneline // 版本历史的简单记录
git log --pretty=oneline --graph // 以图结构展示
2、找出版本号进行回退
git reset --hard 对应版本号
git reflog 可以找到所有操作,如果又想找回之前回退版本,可以使用这个。
#### 3、回退成功push上去
git push
- 注意:这块报错的话,一般是需要你合并下分支 git pull,然后在git push一下
五、tag操作
创建一个tag
git tag -a v1.0.0 -m "版本第一次提交"
查看本地的tag
git tag -l
提交tag
git push origin v1.1.0 // 需要提交具体的tag名
删除本地或者远程库 tag
git tag -d v1.0.0 //删除本地
git push origin -d v1.0.0 //删除远程库的tag
回退到每个tag版本
git checkout v1.1.0
二、分支管理
1、创建分支并且切换到该分支
git checkout -b user
// 等同于
git branch user
git checkout user
2、查看所在分支
git branch
3、检查分支文件的状态
git status
4、添加到暂存区
git add .
5、提交仓库说明
git commit -m "user模块开发提交"
6、将本地user分支推送到远程仓库
首次推送 把本地的user分支推送到远程仓库中,用user进行保存
git push -u origin user
7、将user分支合并到主分支
先切换到主分支
git checkout master
在将代码合并
git merge user
通过head 来确定指向分支
三、git一些实用命令
多人开发代码冲突
先拉取远程仓库最新代码报错
git pull origin 分支名
注意:此时可能多人修改同一个文件导致拉取冲突,报错如下:
解决方案
git stash // 将当前修改的保存在git栈, git stash save '注释'
git stash list // 查看当前暂存的所有内容
git stash pop // 恢复git栈中最新的一个内容
查看项目绑定的远程库
git remote -v
查看当前所在分支以及分支绑定情况
git branch -v
git branch -vv // 查看分支绑定远程库的情况
查看文件当前的状态 (会显示未跟踪状态的文件或者未提交的文件)
git status
查看远程库分支
git ls-remote
远程分支和本地不同名,但是需要连接在一起
git checkout --track origin/coderzzp // 会创建一个和远程分支同名的本地分支,并且是跟踪状态