创建分支
在码云中
- 在码云项目上点击"两个分支",进入创建分支,分支名为test
- 此时本地是没有新分支的,所以要先在项目目录下git pull把分支拉下来:
- 切换分支:git checkout test
- 查看分支:git status 现在在这个分支上开发
利用命令行创建分支
- 切换到主干master
git checkout master - 创建并切换到新分支panda
git checkout -b panda
【注】命令行进行创建的时候一定要看在码云中看是否已经创建好分支 - git branch可以看到已经在panda分支上(这里看不到是本地还是线上的)
如果线上没有则需要
git push origin panda
提交到分支上
注:主支上的代码创建分支之后不需要再次提交,一定要查看一下自己所在的分支,然后进行编写,后果很麻烦!!!
- git add .(如果是修改可省略此步骤)
- git commit -m ‘上传的内容’
- git push
合并分支到主支上
- git checkout master(切换到主支)
- git merge test (合并分支)
- git push (推送)
git恢复被修改的文件
情况一:只是修改了文件,没有任何 git 操作,直接一个命令就可回退:
git checkout -- aaa.txt # aaa.txt为文件名
情况二:修改了文件,并提交到暂存区(即编辑之后,gitadd但没有 git commit -m …)
$ git log --oneline # 可以省略
$ git reset HEAD # 回退到当前版本
$ git checkout -- aaa.txt # aaa.txt为文件名
情况三:修改了文件,并提交到仓库区(即编辑之后,gitadd和 git commit -m …)
$ git log --oneline # 可以省略
$ git reset HEAD^ # 回退到上一个版本
$ git checkout -- aaa.txt # aaa.txt为文件名
【注1】情况二和 情况三 只有回退的版本不一样,
对于 情况二,并没有 $ git commit,仓库版本也就不会更新和记录,所以回退的是当前版本
对于情况三,一旦 $ git commit,仓库版本就会更新并记录,所以要回退的也就是上一个版本
【注2】$ git reset 版本号 ---- 将暂缓区回退到指定版本
根据 $ git log --oneline 显示的版本号,可以回退到任何一个版本,也可通过 HEAD 来指定版本。
---------------------*************----------------
gitignore 规则不生效
.gitignore 只能忽略那些原来没有被追踪(tracked)的文件,如果某些文件已经被纳入了版本管理中,则修改 .gitignore 是无效的。
解决方法就是先把本地缓存删除(改变成未track状态),然后再提交:
git rm -r --cached .
git add .
git commit -m 'update .gitignore'
git进行分支操作时,有时候会遇到查找不到其他分支的情况
- 本地分支未及时更新:可能是因为未执行
git fetch
命令,导致本地分支列表没有及时更新。 - 远程分支未拉取到本地:可能是因为远程仓库中的分支还没有通过
git pull
或者git fetch
命令拉取到本地。 - 分支被删除:可能是因为该分支已经被其他开发者或者自己删除。
- 分支名输入错误:可能是因为输入的分支名错误,导致无法找到对应的分支。
解决办法:
针对以上的问题,分别提供以下解决办法: - 执行
git fetch
命令更新本地分支列表:可以使用git fetch
命令将远程仓库的分支更新到本地,然后再进行分支的查找操作。 - 执行
git pull
或者git fetch
命令拉取远程分支:可以使用git pull
或者git fetch
命令将远程仓库中的分支拉取到本地。 - 检查分支是否被删除:可以使用
git branch -a
命令查看所有分支,看是否存在需要查找的分支。 - 确认分支名的正确性:可以使用
git branch
或者git branch -a
命令查看当前的分支列表,确认输入的分支名是否正确。
总结:
当查找不到其他分支时,可以根据以上的解决办法进行排查和处理。首先,执行git fetch
命令更新本地分支列表;其次,执行git pull
或者git fetch
命令拉取远程分支;然后,检查分支是否被删除;最后,确认分支名的正确性。通过以上的操作,就可以解决查找不到其他分支的问题。