git常用

1.本地分支关联远程分支

github上已经有master分支 和dev分支

在本地

git checkout -b dev 新建并切换到本地dev分支

git pull origin dev 本地分支与远程分支相关联

在本地新建分支并推送到远程

git checkout -b test

git push origin test   这样远程仓库中也就创建了一个test分支

发布dev分支指的是同步dev分支的代码到远程服务器
git push origin dev:dev  # 这样远程仓库也有一个dev分支了

 

2.回滚到某个版本

git reset --hard 版本号  

git reset HEAD~   

 

3.产生冲突的原因

 

1,当远端有更新,本地库没有有变化,拉取操作远端会覆盖本地库(远端版本高于本地)
2,当远端修改,本地库也有修改,拉取操作会产生冲突文件(远端版本和本地版本冲突)
3,当本地库修改,而远端没有变化,拉取不会产生变化(本地版本高于远端版本)
4,当本地库版本低于远端版本,则无法推送,必须先拉取在操作,否则报错
5.针对某个合并操作,HEAD仓库中被修改过的部分与工作目录中将被合并的修改部分为同一代码片段,此时git不知如何取舍,便会产生冲突.
6.分支合并:
 当资源分支版本高于目标分支时,合并,资源分支同名文件会覆盖目标分支;
 当目标分支版本高于资源分支时,合并,提示Already up-to-date.(已经更新),目标分支内容不会变化;
   当目标分支和资源分支同名文件都有改动时,会报冲突,需手动解决;
7.避免合并冲突方案:
   如果目标分支(例如master)被保护起来,其他分支只能通过发起mergeRequest合并请求来合并的话,目标分支的版本始终是低于资源支的,也就不会产生冲突文件了,这样既达到了保护重要分支的目的,也解决了合并冲突的问题。

 

 

 

4.查看远程分支

git branch -a  //查看远程分支

 

5.取消暂存区的文件

git reset HEAD src  取消已经add的文件夹src

 

6.结束git log 用q键

7.先回到一个版本,再返回到未来的版本

git reset --hard HEAD^  //前一个版本
HEAD~100此版本前的100个版本

git reset --hard HEAD 版本号(版本号可以是已回退的版本号)

 

8.查看配置

 

git config --list

9.新建一个空白分支

创建并切换新分支
git branch <new_branch>
git checkout <new_branch>
git rm --cached -r . 
git clean -f -d
创建空的commit
git commit --allow-empty -m "[empty] initial commit"
推送新分支
git push origin <new_branch>

 

10.区分文件大小写

git config core.ignorecase false

 

11.本地分支更新到仓库

git push --set-upstream origin map-area

 

posted @ 2019-03-19 16:49  剪水作花飞  阅读(104)  评论(0编辑  收藏  举报