git进阶
Posted 甲乙丙丁少
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了git进阶相关的知识,希望对你有一定的参考价值。
如下即可,r是remote的简写
或者如下,a是all的简写,可以列出当前本地分支和远程分支---即所有分支
git branch -a
$ git checkout -b 1.0
推送到远程
git push
如果出现如下错误
fatal: The current branch 1.0 has no upstream branch.
To push the current branch and set the remote as upstream, use
git push --set-upstream origin 1.0
git本地新建一个分支后,必须要做远程分支关联。如果没有关联, git 会提示你显示的添加关联。在本地分支下操作: git pull, git push都会提示你此信息。
解决办法其实就是确定这关联:
如上错误代码的提示:git push --set-upstream origin 1.0。
其中的origin是你在clone远程代码时,git为你创建的指向这个远程代码库的标签,它指向远程的repository。(查看远程repository信息,可以用命令git remote -v进行查看,看看当前的代码是远程的哪个repository。)
1.0是你远程的branch
名词讲解
origin:表示远程仓库,是你在clone的时候git自动设置远程仓库别名,可以修改这个标识
repository:代码库。可以存放在你的电脑里,同时你也可以把代码库托管到Github的服务器上。
branch:分支
upstream:如果A库中的分支x被push到B库中的分支y,则y就是x的upstream,而x就是y的downstream。
set-upstream:本地某分支跟踪远程分支
vim .gitignore
//进入编辑.gitignore 然后再按下ctrl+i,i代表insert的意思,就可以编辑啦
# 此为注释 – 将被 Git 忽略 *.a # 忽略所有 .a 结尾的文件 !lib.a # 但 lib.a 除外 /TODO # 仅仅忽略项目根目录下的 TODO 文件,不包括 subdir/TODO build/ # 忽略 build/ 目录下的所有文件 doc/*.txt # 会忽略 doc/notes.txt 但不包括 doc/server/arch.txt
原因:
在git库中已存在了这个文件,之前push提交过该文件。
.gitignore文件只对还没有加入版本管理的文件起作用,如果之前已经用git把这些文件纳入了版本库,就不起作用了
解决:
需要在git库中删除该文件,并更新。
然后再次git status查看状态,文件不再显示状态。
如果你的文件已经提交,而此时你才发现忘了添加.gitignore文件,不用担心,有办法,只要按照下面的步骤一一来做就可以
按顺序依次执行如下命令:
git rm -r --cache . git add . git commit -m ".gitignore now work"
最后提交到远程仓库,会发现.gitignore文件起作用了。
---------------以下为整合版--------
1. 创建分支
方法一
比如说我现在本地和远程就两个分支,master和test
两步走:
a- 创建本地分支:$ git branch hello
b- 推送同步到远程库:$ git push origin hello
来看看效果吧
方法二
直接在github或者gitosc上创建分支,不要问我,百度
然后,再更新到本地,本地就有了
注意的是,更新后,如果不切换哪个分支,你查看本地分支是看不到的
2.然后,在本地仓库执行git命令
查看本地分支:$ git branch
(绿色的代表当前正在使用的分支)
3.查看远程分支:$ git branch –a
4.切换分支(本地远程是会一起切换的,所以不用考虑是本地还是远程)
: $ git checkout master
5.合并分支:$ git merge test
比如我当前的正在使用的分支是master,这么做就会与test分支合并
注意冲突
6.仅删除本地分支:$ git branch -d hello
注意,如果该分支没有与主分支合并的话,执行该删除会报错
The branch \'test\' is not fully merged
你需要执行强制删除指令:$ git branch -D hello
7.仅删除远程分支:$ git push origin :test
原理是把一个空分支push到server上,相当于删除该分支。
8.查看本地库下的文件:ls
9.查看远程库下目录
以上是关于git进阶的主要内容,如果未能解决你的问题,请参考以下文章
VSCode自定义代码片段15——git命令操作一个完整流程
VSCode自定义代码片段15——git命令操作一个完整流程
我的Android进阶之旅NDK开发之在C++代码中使用Android Log打印日志,打印出C++的函数耗时以及代码片段耗时详情