- 提交代码到分支,提交不成功问题
1. 切换分支到master, 执行 $git pull,检查本地master代码是不是版本库的最新代码,如果不是最新的,执行完git pull 之后就会把版本库最新的代码更新到本地master。
2. 然后把master 代码合并到分支,执行 $ git merge branch。
3. 合并完成后,在执行平常提交的操作:
git status
git add .
git commit -m "这里是注释"
git pull origin branch
git push origin branch
- 创建分支发送到远程仓库,然后在测试服务器想拉刚才创建的分支发现没找到,解决方案:
1. 执行 $ git checkout -b branch origin/branch (branch是分支的名称)
- 提交代码到测试机,发现服务器上的代码有冲突不能正常运行了,不确定本地的代码问题还是测试机上面的问题,或者版本库的问题,分析如下:
1. 先检查本地代码是不是有冲突,如果有,解决后重新提交到测试机
2. 检查本地代码和版本库代码是不是一致的,如果不一致,把版本库最新代码更新到本地,再次提交。
3. 如果查看本地代码和版本库一不一致那, 查看本地提交日志,执行 $git log 或者 $ git log --pretty=oneline 查看提交日志最新的一条,看下提交备注和提交时间等信息,如果和版本库上面的提交信息一致,就说明是一致的,前提是本地代码没有改动,或者已经完全提交到版本库了。
4. 如果代码和本地代码都没有问题,并且代码也是一致的,再去查看测试机上面的代码和版本库上面的代码是不是一致的,执行 $ git pull,发现有冲突,并且修改,提交后,再次运行,就可以访问了。
git 日常操作
- 创建分支
$ git branch test (test是分支名称,英文)
- 把分支推送到远程创库
$ git push origin test
- 删除本地分支
$ git branch -D test
- 删除远程分支
$ git push origin :test
- 回退到上一个版本
$ git reset --hard HEAD^
- 回退到上上上一个版本,
$ git reset --hard HEAD~3 以此类推
- 回退暂存区和工作区
$ git checkout -- test 有两种情况,1.已经放到暂存区,执行 $ git checkout -- test 后会回到工作区, 2. 如果你还没有放到暂存区执行$ git checkout -- test 后会回到和最后一次提交到版本库的代码一样,后来改动的代码也会消失。
- 查看提交日志
$ git log 或者 $ git log --pretty=oneline 后者更清晰
- 查看文件修改了那些内容
$ git diff readme.txt
- 查看某个文件的修改记录
$ git log --pretty=oneline index.js (index.js是文件名)
$
- 查看这个版本的修改了历史记录都修改了那些文件以及内容
$ git show 356f6def9d3fb7f3b9032ff5aa4b9110d4cca87e 把哈希值替换掉
- 查看具体一个文件修改了什么 比如一个index.js文件
$ git show fd0a49c5d9b5159cb0d8273ccbb3f4c4a7f5e3d1 index.js
- 查看这个文件所有历史记录,和 git show 功能类似
$ git log -p filename (把filename替换成文件名)
- 设置关联远程分支到本地,方便于提交,git pull和git push的时候就不用添加指定分支名了
$ git push -u origin branch (branch是关联分支远程的分支名称)
下次拉分支的时候直接: git pull 不需要加分支名
推送的时候直接:git push
图片展示