位置:首页 > 网络编程 > 资源/技巧
点击展开栏目简介

                                                    

Git:相关操作整理(冲突解决、分支操作等)

分享到: 微信 新浪微博 更多

修改文件前要先pull拉取(多人时必须)。如果代码不同步会提示冲突,这时需要修改文件冲突的部分。修改完后commit提交。提交的时候窗口里日志信息有# Conflicts字样,需要删掉。提交成功后再推送push。


新增文件的推送流程: add(添加) → commit(提交) → push(推送);


git clone和git pull

本地没有版本库的时候用git clone复制整个项目,本地有版本库的时候用git pull拉取所有有commit的内容和本地代码合并。


分支操作:

远程线上新建分支test_online_branch;

本地新建分支test_local_branch;

如何切换到本地的新分支?如何拉取远程的分支?本地分支如何同步给远程?如何切换到远程的新分支?分支如何提交和合并,如何并入master?如何删除本地分支和远程分支?

正常流程是否为新建远程分支然后同步到本地,不建议直接建本地分支吧?


#远程新建的分支同步到本地
git remote # 列出所有远程主机
git remote update origin --prune # 更新远程主机origin 整理分支
git branch -r # 列出远程分支
git branch -vv # 查看本地分支和远程分支对应关系
git checkout -b gpf origin/gpf # 新建本地分支gpf与远程gpf分支相关联


#======查看分支======
$ git branch #查看本地分支
$ git branch -r #查看远程分支
$ git branch -a #查看所有分支
$ git branch -vv #查看本地分支及追踪的分支
#======创建分支======
$ git branch 分支名 #创建本地分支 #将本地分支push,就创建了远程分支
$ git checkout -b 分支名 origin/远程分支名 #创建本地分支(远程分支对应的分支)并切换到新建的本地分支
$ git checkout -b mydev origin/dev #checkout远程的dev分支,本地创建名为mydev分支,并切换到本地的mydev分支
#======切换分支========
$ git checkout 分支名 #切换本地分支
$ git checkout -b 分支名 #切换远程分支
#======删除分支=======
$ git branch -d 分支名 #删除本地分支
$ git push origin --delete 分支名 #删除远程分支
#======合并分支======
#合并前要先切回要并入的分支,以下表示要把dev分支合并入master分支
$ git checkout master #切换到master分支
$ git merge dev #将dev合并到master分支
#=======提交换行注释========
#注释可以通过单引号来换行
$ git commit -m '
> 1.aaaaa
> 2.bbbb
'
$ git merge dev #将dev合并到master分支
$ git commit --amend #查看到刚刚的log信息为
#=========撤销操作=========
$ git status #查看add 中的文件 
$ git reset HEAD #默认是上一次add 里面的全部撤销了 
$ git reset HEAD XXX.js #对某个文件进行撤销了
#====查看remote地址,远程分支,还有本地分支与之对应的关系等信息=====
$ git remote show origin
#======本地删除远程不存在的分支====
$ git remote prune origin


1.创建分支
git branch develop
2.查看本地分支
git branch #注:名称前面加* 号的是当前的分支
3.查看远程分支
加上-a参数可以查看远程分支,远程分支会用红色表示出来(如果你开了颜色支持的话)
git branch -a
4.切换分支
git checkout branch_name
5.删除本地分支
git branch -d branch_name
6.删除远程分支
git branch -r -d origin/branch-name
git push origin :branch-name
7.如果远程新建了一个分支,本地没有该分支。
可以利用 git checkout --track origin/branch_name ,这时本地会新建一个分支名叫 branch_name ,会自动跟踪远程的同名分支 branch_name。
git checkout --track origin/branch_name
8.如果本地新建了一个分支 branch_name,但是在远程没有。
这时候 push 和 pull 指令就无法确定该跟踪谁,一般来说我们都会使其跟踪远程同名分支,所以可以利用 git push --set-upstream origin branch_name ,这样就可以自动在远程创建一个 branch_name 分支,然后本地分支会 track 该分支。后面再对该分支使用 push 和 pull 就自动同步。
git push --set-upstream origin branch_name
9.合并分支到master上
首先切换到master分支上
git checkout master
如果是多人开发的话 需要把远程master上的代码pull下来
git pull origin master
然后我们把dev分支的代码合并到master上
git merge dev
然后查看状态
git status
Git 解决冲突没有及时提交后 报错:fatal: Exiting because of unfinished merge
解决办法
一: 保留本地的更改,中止合并->重新合并->重新拉取
$:git merge --abort
$:git reset --merge
$:git pull
二: 舍弃本地代码,远端版本覆盖本地版本,这步代码不可逆
$:git fetch --all
$:git reset --hard origin/master
$:git fetch


上篇:youtube:将一个账号里的数据(订阅/播放列表)复制到另一个新账号里

发表评论 ​共有​条评论
  • 匿名发表