摘要
1.git本地操作
①本地工作区中创建一个文件,然后想要在这个文件里面初始化一个Git工作区
初始化一个Git仓库:git init
或
克隆一个Git仓库:git clone +url
②在这个文件里面创建一共hello.txt后
git status 或 git status -s查看状态发现它是未跟踪态,
git add hello.txt 添加到暂存区
git commit -m "xxx" hello.txt提交到本地仓库
③删除hello.txt
git rm hello.txt在工作区删除了hello.txt
git commit -m "xxxx" 提交到本地仓库
④查看日志
git log查看日志
2.git本地与远程交互操作
声明:我们有一个名字为origin的远程仓库
(git remote add + origin + 远程仓库url) 给本地仓库添加一个对应的远程仓库origin
(git remote rm + origin) 给本地仓库删除它对应的origin远程仓库
(git remote) 查看本地仓库关联的那些远程仓库
——(git remote -v) 详细展示本地仓库关联的那些远程仓库
(git fetch = git fetch +origin +master) 抓取远程仓库master分支的数据
(git merge origin/master) 合并远程仓库的数据
(git pull + origin + master)抓取并合并远程仓库的数据
(git push + origin + master)把数据推送到远程仓库的master分支
案例,如果你修改了工作区某一文件里面的内容,那就先添加到暂存区并提交到本地仓库(git commit -a -m "xxx"),然后再提交到远程仓库(git push origin master)
3.git分支操作
列出所有本地分支(git branch)
列出所有远程分支(git branch -r)
列出所有本地分支和远程分支(git branch -a)
创建分支git branch b1
查看分支git branch(你就能看到b1、b2、master等等本地拥有的分支)
切换分支git checkout b1
把分支推送到远程git push origin b1(假如你正处在b1分支那么执行这句话就是把b1分支推送到远程origin仓库下的b1分支)
合并分支git merge b1(假如你正处在master分支那么执行这句话就是把b1分支里面的文件合并到master分支里面)
强制合并分支(如果你在b1分支修改了hello.txt文件,然后你在master分支也修改了hello.txt文件,此时你在mster分支合并b1分支就会产生冲突,你还需要手动修改master分支hello.txt里面的东西然后添加到暂存区然后提交上去)
删除分支git branch -d b2(你只是删除了本地b2分支,远程b2分支还是存在的)
删除远程分支git push origin -d b2
强制删除分支git branch -D b2(如果你在b1分支修改了hello.txt文件并且添加到暂存区然后提交到本地仓库后,然后你切换到master分支删除本地b1分支就会产生错误,使用-D强制删除)
④git标签操作
列出所有tag(git tag)
查看tag信息(git show [tagName])
新建一个tag(git tag [tagName])
提交指定tag(git push origin v0.1)
新建并切换到b3分支,并指向v1.0 ,那么v1.0里面的东西在b3分支里面都有(git checkout -b b3 v1.o)
删除本地tag(git tag -d [tag])
删除远程tag(git push origin :refs/tags/[tag])
完整流程显示:
①在dev分支里面创建v1.0标签 (git tag v1.0),其实也就是说当前dev分支里面包含的东西就是v1.0版本的东西
②新建一个b3分支,指向v1.0(git checkout -b b3 v1.o),其实也就是说v1.0里面的东西在b3分支里面都有
③手动修改b3分支某一个文件,并添加到暂存区,并且提交到本地仓库
④在当前的b3分支里面创建v2.0标签(git tag v2.0 ),其实也就是说当前b3分支里面包含的东西就是v2.0版本的东西
⑤推送到远程(git push origin v2.0)
⑥删除远程v2.0标签git push origin :refs/tags/v2.0
一、关于Git
1.Git的工作流程
2.创建Git远程仓库
二、Git操作本地仓库
1.设置用户名和email
2.在本地初始化一个Git仓库
如果在当前目录中看到.git文件夹(此文件夹为隐藏文件夹)则说明Git仓库创建成功
3.从远程仓库克隆一个Git仓库
(从现在开始使用的截图均来自网络)
4.工作区、暂存区、版本库
5.Git工作目录下文件的两种状态
6.查看文件的状态
7.将未跟踪的文件加入暂存区
8.将暂存区的文件修改提交到本地仓库
9.删除文件
10.将文件添加至忽略列表
一般我们总会有些文件无需纳入Git 的管理,也不希望它们总出现在未跟踪文件列表。 通常都是些自动生成的文件,比如日志文件,或者编译过程中创建的临时文件等。 在这种情况下,我们可以在工作目录中创建一个名为 .gitignore 的文件(文件名称固定),列出要忽略的文件模式。
*.a (所有以.a结尾的都被忽略)
!lib.a (所有以.a结尾的都被忽略但是lib.a文件除外)
/TODO (只忽略TODO文件,TODO是文件)
build/ (build目录下所有文件都忽略,build是目录)
doc/*.txt (doc目录下所有以.txt结尾的都忽略)
doc/**/*.pdf (/**就是多层目录,doc目录下以及doc子目录下所有以.txt结尾的都忽略)
11.git log 查看日志记录
三、Git操作远程仓库
1.远程仓库介绍
2.查看远程仓库git remote
3.添加远程仓库
4.从远程仓库克隆
5.移除无效的远程仓库
6.从远程仓库中抓取与拉取
git fetch 是从远程仓库获取最新版本到本地仓库,不会自动merge(合并数据),务必要手动合并数据merge
git pull 是从远程仓库获取最新版本并merge到本地仓库
注意:如果当前本地仓库不是从远程仓库克隆,而是本地创建的仓库,并且仓库中存在除了.git外的文件,此时再从远程仓库拉取文件的时候会报错(fatal: refusing to merge unrelated histories ),解决此问题可以在git pull命令后加入参数–allow-unrelated-histories
7.推送到远程仓库
四、Git分支操作
1.查看分支
2.创建分支、切换分支
3.把分支推送到远程
4.合并分支
有时候合并操作不会如此顺利。 如果你在两个不同的分支中,对同一个文件的同一个部分进行了不同的修改,Git 就没办法合并它们,同时会提示文件冲突。此时需要我们打开冲突的文件并修复冲突内容,最后执行git add命令来标识冲突已解决
5.将新添加的文件推送
6.删除分支
如果要删除的分支中进行了一些开发动作,此时执行上面的删除命令并不会删除分支,如果坚持要删除此分支,可以将命令中的-d参数改为-D
五、Git标签
1.列出已有的标签
2.新建标签
3.将标签推送至远程仓库
4.检出标签
5.删除标签
感谢浏览和收藏