注:侵权请联系作者删除
目录
1.引入:
2.Git 的工作区域和流程
3.stash区域
4.git基本操作
A.git add
B.git commit
c.git pull
D.git fetch
E.git branch
F.git init
5.在项目中实际运用案例:
A.在github上创建一个新仓库
B.复制刚创建的项目git地址
C. git init初始化
D. git remote -v
E.git remote add origin git地址
F.git add .
G.git commit -am "注释"
H.git branch
I.git pull origin master(这个是分支名)
J.git push -u origin master(这个是分支名)
1.引入:
以前听过一个段子,说的是有一个程序员在工作第一天因为不会使用git拉取代码被炒鱿鱼,虽然这种情况很少见,但是我们还是需要来详细了解一下git的具体用法
2.Git 的工作区域和流程
先来看一下git工作流程图:
Workspace:也就是工作区,就是我们平时在电脑上编辑代码的地方,各种代码编辑软件
Index:暂存区,当执行 git add
的命令后,工作区的文件就会被移入暂存区,暂存区标记了当前工作区中那些内容是被 Git 管理的,当完成某个需求或者功能后需要提交代码,第一步就是通过 git add
先提交到暂存区。
Repository:本地仓库,位于自己的电脑上,通过 git commit
提交暂存区的内容,会进入本地仓库。
Remote:远程仓库,用来托管代码的服务器,远程仓库的内容能够被分布在多个地点的处于协作关系的本地仓库修改,本地仓库修改完代码后通过 git push
命令同步代码到远程仓库。
简单来说,git的工作流程可以分为以下几步:
1.在工作区开发,添加,修改文件。
2.将修改后的文件放入暂存区。
3.将暂存区域的文件提交到本地仓库。
4.将本地仓库的修改推送到远程仓库。
3.stash区域
除了上面这些区域之外,还有一个特殊的区域,那就是本地的 git 储存区,它是用来干嘛的呢?一般来说你可能在某些场景下会用到它,我们有的时候本地改了代码,但是突然有个人过来问你另一个分支的问题,同时这个时候你在实现某个功能,实现一半,又不想提交到 Git 仓库中,那么你就可以考虑使用 git stash save "临时存一下"
,这个时候它就会帮你存到这个储存区,你去其他分支做完事情回来,再 git stash pop
就好了。
但笔者还是不是很建议使用这个功能,因为哪天你切走了再切回来,忘记了这个存储,又写了点其他的,这个时候你到时候被坑一把就哭吧。当然了,这个功能还是很有用的,但是的确需要细心点用。
stash区域用法:
常用命令如下:
git stash save 'xxx'
: 储存变更git stash list
: 查看储存区所有提交列表git stash pop
: 弹出并应用最近的一次储存区的代码提交git stash drop stash@{n}
: 删除某次储存记录git stash clear
: 清楚所有 stash 信息
它的数据将被存在你仓库 .git 文件下的 refs/stash 里。
4.git基本操作
A.git add
添加文件到暂存区
添加某个文件到暂存区,后面可以跟多个文件,以空格区分 git add xxx
添加当前更改的所有文件到暂存区。 git add .
B.git commit
提交暂存的更改,会新开编辑器进行编辑
git commit
提交暂存的更改,并记录下备注
git commit -m "you message"
等同于 git add . && git commit -m
git commit -am
对最近一次的提交的信息进行修改,此操作会修改commit的hash值
git commit --amend
c.git pull
从远程仓库拉取代码并合并到本地,可简写为 git pull 等同于 git fetch && git merge
git pull <远程主机名> <远程分支名>:<本地分支名>
使用rebase的模式进行合并
git pull --rebase <远程主机名> <远程分支名>:<本地分支名>
D.git fetch
了解完上面描述的 git pull
,命令之后,其实这个命令也很好理解了,特定时候,可能我们只是想把远端仓库对应分支的变更拉到本地而已,并不想自动合并到我的工作区(你当前正在进行代码变更的工作区),等晚些时候我写完了某部分的代码之后再考虑合并,那么你就可以先使用 git fetch
。
获取远程仓库特定分支的更新
git fetch <远程主机名> <分支名>
获取远程仓库所有分支的更新
git fetch --all
E.git branch
新建本地分支,但不切换
git branch <branch-name>
查看本地分支
git branch
查看远程分支
git branch -r
查看本地和远程分支
git branch -a删除本地分支
git branch -D <branch-nane>
重新命名分支
git branch -m <old-branch-name> <new-branch-name>
F.git init
除了我们从远端建仓库,有的时候我们自己本地也是可以自己初始化一个 Git 仓库来操作的,这个时候我们就直接使用 git init 就能轻松为当前目录创建一个 git 仓库,也就能开始对当前目录的改动纳入版本管理库了。
不过本地 init 的仓库没法和远端进行交互,所以我们还是需要去 github/gitlab 创建一个远端仓库,然后关联一下,也就是 git remote
命令了。
5.在项目中实际运用案例:
A.在github上创建一个新仓库
B.复制刚创建的项目git地址
C. git init初始化
在自己要存放代码的文件夹当中进行init初始化
D. git remote -v
查看远程仓库的信息
E.git remote add origin git地址
在本地项目的根目录下输入,这个是将本地项目与远程的git仓库关联起来
F.git add .
将本地文件添加到文件缓冲区
G.git commit -am "注释"
引号里面的注释是你这次提交的什么内容做个注释,方便以后方便看
H.git branch
查看本地分支
I.git pull origin master(这个是分支名)
拉取远程master分支代码
J.git push -u origin master(这个是分支名)
将本地缓存仓库的文件推送到远程,也就是网上
最后在Github上边看到的效果
本人的另一篇文章也有另一种上传项目的方法,大家可以点击查看该博客
上传代码到github的另一种方法