文章目录
- 前言
- 一、配置用户名和邮箱
- 二、本地操作
- 三、分支操作
- 3.1、`git branch` 查看分支
- 3.2、`git branch XXX` 创建子分支
- 3.3、`git checkout XXX` 切换到子分支
- 3.4、`git checkout -b XXX` 创建并切换到子分支
- 3.5、`git merge 被合并的分支名` 合并分支内容
- 3.6、`git branch -d 要删除的分支名` 删除分支
- 3.7、`git log --graph --pretty=oneline` 查看分支记录
- 3.8、`git clone 代码仓库链接` 拉取完整的远程仓库的代码
- 3.9、 `git pull origin 远程分支名 或 git pull` 用来拉取仓库代码
- 3.10、 `git push origin <分支名> 或 git push` 用来把本地合并好后的代码推向到远程仓库
- 四、远程仓库关联(配置SSH公钥)
- 五、本地代码如何上传到远程仓库
- 六、总结一下提交代码的流程
前言
这里给大家总结一下常用的git命令、如何把新项目提交到代码仓库以及如何配置公钥和私钥
一、配置用户名和邮箱
我们要给仓库提交代码,第一步就要配置用户名和邮箱,在我们需要上传的代码文件中,打开终端进行配置:
git config --global user.name 'XXX'
git config --global user.email 'XXX'
其中用户名和邮箱要和仓库的一致,如下:
二、本地操作
2.1、git init
初始化
git init
配置完用户名和邮箱后,我们需要初始化一下,执行完
git init
代码后,你本地代码的文件后面将会出现一个大写字母"U",以及在文件夹中出现一个".git"文件代表这一步成功了,有了这个".git"文件,代表我们项目可以使用git了
注意:有的人可能看不到这个".git"文件,是因为设置了隐藏,百度一下打开隐藏的文件夹就可以了,这里就不啰嗦了
2.2、git add
把代码提交到暂存区
这里我们要注意,
git add .
是提交全部文件夹中的内容(空文件夹除外),我们也可以用git add 文件名
来提交单独的某个文件
git add . //或者 git add XXX
执行完这一步后,文件夹后变成大写字母"A"的话,表示我们提交的代码现在在暂存区
2.3、git commit -m "注释"
将代码提交到本地仓库
我们可以通过
git commit -m "注释"
,将代码提交到本地仓库,注意,这里的注释要写的越详细越好,方便后期项目中的版本回退,不要偷懒不写哦~
我们执行完这一步以后,当页面中的大写字母消失,说明成功了
2.4、git status
查看git的状态
如果我们把修改过的代码都提交了的话,执行
git status
以后,会提示我们nothing to commit, working tree clean
(无需提交,工作树干净),如果还有代码修改了,没提交的话,则会提示我们需要再git add
一下,并且文件后边将提示大写字母"M",这时我们在git add 文件名
一下该文件即可。
2.5、git diff
查看版本差别
这行代码如果是你已经全部提交了代码,执行的话不会有返回,但是如果你有修改代码,但是还未提交的话,执行该代码即可看见差别
2.6、 git log或 git log --pretty=oneline
查看版本信息
执行该代码后,即可看见我们之前提交过的版本,也可以用
git log --pretty=oneline
,git log
–pretty=oneline其实就是格式化一下,该代码的用途是方便后期做版本的回滚
git log
git log --pretty=oneline
2.7、git reset HEAD^以及git reset --hard 版本号
版本回退
这里比较绕,需要理解记忆
我们做版本回退的时候可以用
git reset HEAD^
实现,回退几个版本就在git reset HEAD
后加几个"^
"符号即可,这时候我们只是版本回到了我们退回的版本,但是页面的代码并没有回去,我们需要配合git checkout
让页面的代码也回到我们退回的版本
但是这个方法并不好用,因为要执行两次才能使页面代码回退,还有一个更简单的方法
git reset --hard 版本号
可以直接使我们的页面代码也回退到我们需要的版本
这时候我们在
git log --pretty=oneline
查看版本号的时候会发现少了一个,少的就是我们退回的那个版本
但是,万一我们版本退回错了应该怎么办呢?别慌,也有方法,首先我们先看我们的控制面板是否关闭了,没有关闭的话,我们可以查看是否还有之前查看版本号的记录,如下:
注意:这时候再执行git log --pretty=oneline
代码也找不到我们退回的版本号,只能看有没有记录
如果我们还有之前的记录,那我们直接执行
git reset --hard 版本号
即可恢复,不放心的话可以git log --pretty=oneline
看一下是否又多了一条刚才退回的版本
如果我们运气很不好,没有了之前的记录应该怎么退回呢?我们可以用
git reflog
来查看所有的历史版本,然后找到我们不小心回退错的版本号,然后执行git reset --hard 版本号
即可恢复
2.8、git reflog
查看所有的历史版本
用来查看所有的历史版本,方便版本退回使用
三、分支操作
3.1、git branch
查看分支
可以用来查看我们有哪些分支,并且我们现在在那个分支上(*好在哪代表我们目前在哪个分支),master是主分支,一般来说不会再主分支上做开发,需要开发人员建立自己的子分支进行开发工作。
3.2、git branch XXX
创建子分支
我们可以通过
git branch 分支名
来创建自己的子分支
3.3、git checkout XXX
切换到子分支
我们可以通过
git checkout 分支名
来切换到自己的子分支
3.4、git checkout -b XXX
创建并切换到子分支
我们可以通过
git checkout -b 分支名
来创建并且切换到自己的子分支,这样更简洁方便
3.5、git merge 被合并的分支名
合并分支内容
注意:这一步操作需要我们先回到你想最后合并上去的分支上后再进行操作,
比如:我们在dev2分支上进行了代码的修改以后,我想合并到主分支,那我要先切换到主分支上,这时候页面代码会变成主分支的,并没有我们修改后代码,然后再通过
git merge 被合并的分支名
将dev2分支的代码合并过来,合并到主分支上。
3.6、git branch -d 要删除的分支名
删除分支
通过
git branch -d 要删除的分支名
我们可以实现删除我们想要删除的分支
3.7、git log --graph --pretty=oneline
查看分支记录
可以通过
git log --graph --pretty=oneline
来查看我们对分支的一些操作记录
3.8、git clone 代码仓库链接
拉取完整的远程仓库的代码
如果配置了公钥和私钥,那么也可以用"SSH"中的链接进行拉取代码,没有配置的话就用"HTTPS"中的链接进行拉取,这个比较好理解,这里就不对做赘述了。
3.9、 git pull origin 远程分支名 或 git pull
用来拉取仓库代码
这一步一般使用在
git add
和git commit -m ""
后,我们需要先拉取远程仓库的代码到本地,解决代码的冲突
3.10、 git push origin <分支名> 或 git push
用来把本地合并好后的代码推向到远程仓库
注意:一般都是先拉取代码git pull --rebase origin 远程分支名 或 git pull
合并解决完代码冲突后再推向到远程仓库,如果没有解决完代码冲突,不要推向仓库,简单记就是:先pull再push,先拉再推
四、远程仓库关联(配置SSH公钥)
关联远程仓库我们首先需要生成密钥对,不生成密钥对其实也可以,但是再我们每次上传代码的时候会让你输入账号密码,会很麻烦。
第一步:我们通过
ssh-keygen -t ed25519 -C "仓库绑定的邮箱"
来生成公钥和私钥
第二步:根据路径找到这两个文件:
第三步:然后我们把".pub"文件通过VScode打开,将里面的内容复制到git仓库中的SSH公钥中
第四步:复制完成后点击"确定"后输入密码(你登陆该仓库的密码)成功后完成配置。
五、本地代码如何上传到远程仓库
注意:前提是你已经配置好了配置用户名和邮箱没有配置的话请看本片文章一条 配置用户名和邮箱
1、现在git仓库中新建一个仓库
如下: 我这里创建的是私有的仓库,根据自己的情况,也可以设置成开源
2、通过
git remote add origin +仓库路径
把本地代码和远程仓库链接起来,
3、然后就使用以下代码把本地代码提交到暂存区
- 使用
git add .
("."表示所有的)或git add
文件名,将文件保存到暂存区 - 使用
git commit -m '新添加的文件内容描述'
:把代码提交到本地仓库,注释要写完整 - 使用
git push -u origin master
,将本地仓库推送到远程仓库,只有第一次提交到仓库的时候加-u,后期开始开发的时候再提交代码就只用git push
即可
4、执行完以上代码后,我们就能在仓库看见我们提交的代码了
六、总结一下提交代码的流程
可能有的小伙伴已经乱了,我下面总结一下哈~
git status
:查看自己写了哪些东西。git add .
:把代码提交到暂存区,提交全部代码,或者git add XXX
提交单独的文件也可以git commit -m " "
:把代码提交到本地仓库,详细描述本此提交的代码,不能偷懒哦git pull origin远程分支名
:拉取代码仓库中的代码带本地,这时候可能会有代码冲突,要先解决冲突再进行下一步,如果执行了这一步后没有代码冲突,那么可以直接执行这一步,如果有代码冲突,则我们需要重复git add .
,git commit -m " "
后执行下一步git push origin <分支名>
:把合并好后的代码推向远程仓库