Git使用笔记

本文详细介绍了如何使用Git进行分支合并,包括从本地分支到远程分支的同步,以及两个远程分支之间的合并。同时,也讲解了Git的忽略规则设置,包括通过.gitignore文件忽略文件和解决已跟踪文件的忽略问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

配置全局忽略  .git/info/exclude

git创建分支并推送到远程分支:https://blog.youkuaiyun.com/ljj_9/article/details/79386306

Git merge 不同的branch

Git的优势是可以创建不同的branch,然后在每个branch上开发。那么问题是:如果不同的branch之间需要做同步,比如sourceBranch上做的修改也需要同步到targetBranch,改怎么做?

1. 如果一个branch是有远程Git server管理的,另一个branch是自己本地的

    cd <your workspace>

    git branch  //假定现在所在的branch是targetBranch,并最好保证没有未提交的修改,并且已经更新到最新

    git checkout -b sourceBranch  //创建一个本地的sourceBranch并切换到sourceBranch

    git commit  //把sourceBranch上做的修改先提交

    git checkout targetBranch  //切换回targetBranch

    git merge --no-ff sourceBranch  //把sourceBranch的修改merge到targetBranch。注意:建议merge的时候总是用 --no-ff 选项

    git status  //保证现在workspace是干净的

    git push   //push到远程,如果远程有新的修改,先做一下git pull

2. 如果两个branch都是远程管理的,想把branchB的内容同步到branchA上

   cd <your workspace>

   git branch  //假定现在所在的branch是branchA,并最好保证没有未提交的修改,并且已经更新到最新

   git checkout sourceBranch  //确保同一个workspace能在不同的branch直接切换,即保证 .git/config里 [remote "origin"] 的内容是 fetch = +refs/heads/*:refs/remotes/origin/*

   git merge targetBranch

   解决conflicts如果merge的结果里有显示conflicts

   git commit  //解决冲突后先commit到sourceBranch

   git checkout targetBranch  //切换到targetBranch

   git merge --no-ff sourceBranch  //建议merge的时候总是用 --no-ff 选项

   git push origin targetBranch   //把sourceBranch的修改merge到targetBranch之后,push到远程的targetBranch

 

Git忽略规则:

git中如果想忽略掉某个文件,不让这个文件提交到版本库中,可以使用修改根目录中 .gitignore 文件的方法(如果没有这个文件,则需自己手工建立此文件)。这个文件每一行保存了一个匹配的规则例如:

# 此为注释将被 Git 忽略

*.sample    # 忽略所有 .sample 结尾的文件
!lib.sample    # lib.sample 除外
/TODO    # 仅仅忽略项目根目录下的 TODO 文件,不包括 subdir/TODO
build/
   # 忽略 build/ 目录下的所有文件
doc/*.txt   # 会忽略 doc/notes.txt 但不包括 doc/server/arch.txt

.gitignore规则不生效的解决办法

把某些目录或文件加入忽略规则,按照上述方法定义后发现并未生效,原因是.gitignore只能忽略那些原来没有被追踪的文件,如果某些文件已经被纳入了版本管理中,则修改.gitignore是无效的。那么解决方法就是先把本地缓存删除(改变成未被追踪状态),然后再提交:

git rm -r --cached .
git add .
git commit -m 'update .gitignore'

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值