使用git命令删除、合并分支、从远程仓库拉取本地没有的分支,以及一些常用的git命令

一、.删除分支

查看本地分支:git branch

查看远程分支:git branch -r

1. 删除本地未合并的分支:git branch -D 分支名

2. 删除本地已合并的分支:git branch -d 分支名

【区别】

git branch -d 分支名  会在删除前检查merge状态,若是未合并状态则删除失败,改用 -D 可强制删除。
git branch -D 分支名  是git branch --delete --force的简写,它会直接删除。

【要注意的点】

删除分支时,要切换到 [要删除的分支] 之外的分支,即若执行删除当前分支命令,会删除失败。

3. 删除远程的分支:git push origin --delete 分支名

二、合并分支

git merge 被合并的分支名

比如:将branch1分支合并到master分支

先切换到master分支:git checkout master

此时应先执行 git pull 命令,以拉取最新状态的master分支至本地

然后合并branch1分支:git merge branch1

合并完后若需要推送到远程,则执行 git add .  => git commit -m "合并分支"  => git push

合并成功并推送至远程!

三、一些常用的 git 命令

1. git clone ...(https/ssh) [仓库名]  没有仓库名默认同步远程

2. git add 文件名 或者 git add .    添加至暂存区

3. git commit -m "备注信息"   提交修改

4. git status  查看在工作区、暂存区的状态

1)Untracked files: 表示只在工作区有的file(文件或文件夹),也就是在暂时区没有该file。

2)Changes to be committed: 表示已经从工作区add到暂存区的file(文件或文件夹),可以通过 git restore --staged filename 命令将该file从暂存区移出,只有工作区有该文件,该文件就为Untracked files。

3)Changes not staged for commit: 表示工作区,暂时区都存在的file(文件或文件夹),在工作区进行修改或删除,但是没有add到暂存区。可以通过 git restore  file 的命令取消在file在工作区的变更。

5. git log  查看提交历史

6. git push  推送至远程

7. git pull  从远程拉取最新版本的对应分支代码并合并

从作用上看,git pull 大概等于 git fetch + git merge

【git pull 和 git fetch 的区别】

git pull和git fetch的区别(转) - 一_剑封喉 - 博客园

Git 操作-- git pull - 简书

(注意区分 git pull origin remoteBranch:从远程拉取分支remoteBranch并合并到当前分支上,不一定是对应的分支)

8. git push --set-upstream origin 分支名   当在本地创建分支而远程还没有该分支时,执行该命令创建对应的远程分支

9、从远程仓库拉取本地没有的分支

用途:跨机克隆项目时只能获取主分支的代码,没有克隆全部分支,可用以下命令获取。(VS Code可以直接切换分支获取)

git checkout -b localName origin/remoteName 

创建本地分支localName 并拉取远程分支remoteName 到该本地分支,分支名可一样也可不一样(但是都会对应跟踪)

10、添加(add)或更换(set-url)远程仓库地址,推送到远程仓库

添加远程仓库地址

git remote add origin git@git.weixin.qq.com:2637165652/wallpaper_3.git(远程仓库地址)

推送到远程仓库(推送前记得提交更改)

git push -u origin "master"

11、查看分支

查看本地分支:git branch

查看远程分支:git branch -r

【看了一些文章后整理出来的自我感觉还算清晰的 git 总结,有误请指正】

当我们在Git合并分支时,如果两个分支中的同一文件的同一部分被修改了,就会发生冲突。此时,Git会提示我们手动解决冲突。以下是解决冲突的步骤: 1.使用git merge命令合并分支,如果发生冲突,Git会在命令行中输出一些描述信息,以便让我们知道有冲突发生。 2.使用git status命令查看冲突的详情,Git会列出所有未合并的文件。 3.打开冲突文件,手动解决冲突。Git会在冲突文件中用<<<<<<<,=======和>>>>>>>标记出不同分支的内容。我们需要根据需要修改文件,然后删除这些标记。 4.使用git add命令将修改后的文件标记为已解决冲突。 5.使用git commit命令提交合并结果。 以下是一个解决冲突的例子: ```shell $ git merge feature Auto-merging merge.txt CONFLICT (content): Merge conflict in merge.txt Automatic merge failed; fix conflicts and then commit the result. $ git status On branch main You have unmerged paths. (fix conflicts and run "git commit") (use "git merge --abort" to abort the merge) Unmerged paths: (use "git add <file>..." to mark resolution) both modified: merge.txt no changes added to commit (use "git add" and/or "git commit -a") $ cat merge.txt This is a line in the main branch. <<<<<<< HEAD This is a line in the feature branch. ======= This is another line in the main branch. >>>>>>> feature $ vim merge.txt $ cat merge.txt This is a line in the main branch. This is a line in the feature branch. This is another line in the main branch. $ git add merge.txt $ git commit -m "Merge feature branch" ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值