GIT的常用操作。有提交,拉取,合并。

本文详解Git的基本操作,包括工作空间、缓存区、本地与远程仓库的区别,跟踪分支与上游分支,以及提交、拉取、合并和推送等关键步骤。适合Git初学者快速上手。

有几个概念要理解: 工作空间, 缓存区, 本地, 远程, 跟踪分支, 上游分支。

(1)工作空间: 当前操作修改的文件都是在工作空间里修改。git窗口或者idea打开后对应的文件夹内容都是当前工作空间。

(2)缓存区: 工作空间 和 本地仓库的中间层。 所有当前的内容需要经过 git add 之后才能到缓存区,然后 git commit 到本地

(3)本地: 就是代码存储在自己电脑上。 也叫本地仓库

(4)远程: 就是git服务存储的地方。也叫远程服务器

(5)跟踪分支:你本地的分支跟远程分支之间有一个跟踪分支。当个比方,你本地看到的远程分支的内容就是跟踪分支上的内容。你的同事往远程分支提交了代码,你本地不更新的时候,本地看到的远程分支上是不包含同事提交的内容。 这个时候可以理解为本地看到的远程分支就是跟踪分支。

(6)上游分支:上游分支是一个相对概念。 可以简单理解为:跟踪分支。

Git 教程 | 菜鸟教程 啊 这个也是好东西!!

#一个基本的修改文件后提交推送操作 start

1、新增缓存区

git add . 或者 git add <file> 将本地文件都添加到缓存区里

2、回退缓存区

git restore --staged <file> 或者 git restore --staged . 将缓存区的文件回退到工作空间里

3、提交到本地仓库

git commit -m "提交的注释"           提交到本地仓库中

4、推送到远程仓库

git push 将本地代码推送到远程仓库中

#一个基本的修改文件后提交推送操作 end

5、当前状态

git status 查看当前分支本地的状态

6、查看分支

git branch 查看本地分支

git branch -a 所有分支, 看到的分支都是快照(自己引入的概念),比如同事在远程上又创建了新的分支,通过这个命令是看不到同事创建的远程分支的。

git branch -r 远程分支 也是看到的是快照。

如果不想看到快照,那就得 先git fetch 在git branch -a OR git branch -r

7、创建分支

git branch <新分支的名字> 创建本地新分支

git checkout -b <分支名> 创建并检出本地新分支

git checkout -b <分支名> <远程主机> /<远程分支> 从指定的远程中创建并检出本地新分支

git push origin <本地分支名> :<远程分支名> --set-upstream 创建指定的本地分支到远程服务器上  <远程分支名> 就是你定义的远程服务器上存储的新的分支名。

git push origin <远程分支名> --set-upstream 创建当前的本地分支到远程分支上。 <远程分支名> 就是你定义的远程服务器上存储的新的分支名。

8、 检出分支

git checkout <分支名>

9、删除分支

git branch -d  <本地的分支名>     删除本地分支

git branch -d  <本地的分支名>     删除本地分支

git branch -r -d  <远程主机>/<分支名>     删除跟踪分支。  意思就是你从本地的分支跟远程分支断开了。但是你如果用git pull 或者 git fetch 会把跟踪分支加回来。  具体的表现就是:执行删除命令后,git branch -r 是看不到远程分支的,因为跟踪的分支被你删除了。 目前我是没有用得到这个命令。

git push origin :<分支的名字> 删除远程分支

git push origin -d <分支的名字> 删除远程分支

10、更新分支

(1)git pull <远程主机名> <远程分支名>:<本地分支名>

git pull origin master : test6

git pull master : test6

git pull 同 git pull origin 是一样的作用,就是将远程分支的代码拉取并更新到本地

等同于 git fetch + git merge

一般开发者工具会使用这个git pull 进行拉取代码。

(2)git fetch

git fetch 直接执行 会更新远程的分支数据到本地。 如果远程有一个新的分支,本地是没有的,那么会在本地仓库中创建一个新的对应分支。

git fetch origin 跟上面的命令作用类似,但是不会自己新增分支。

git fetch 的操作 会将远程的分支更新的内容保存到本地仓库中。并不会直接更新到当前工作空间中,也不会去自己合并。

那么对应的还要自己做一次合并的操作。

!!!!注意这几个命令后面不需要加指定的分支

11、合并分支

(1)本地仓库对应分支合并到当前工作空间。

git merge 把本地仓库中的信息合并到当前分支中

(2)本地仓库指定分支合并到当前工作空间。

git merge origin/<分支名称>

(3)本地仓库分支之间合并。

git merge <本地分支名称>

当远程服务有提交记录时 要先执行 git fetch 将远程服务提交记录拉到本地仓库中。然后再进行merge 。

(4)遇到远程记录与工作空间冲突

先得工作空间得东西提交到本地仓库中才能进行merge。merge之后的操作看(5)

(5)遇到远程记录与本地仓库冲突

下面是步骤

步骤1: cat <冲突的文件> 就是查看冲突文件

步骤2: vim <冲突的文件> 打开编辑,准备修改文件,

输入 i 进行编辑文件。

编辑完了后,按Esc键表示退出编辑,

然后 输入 : 会弹出对话行,

然后输入 wq 就是保存并退出的意思。

最后回车。

步骤3:git add . 表示合并完毕。

步骤4:git commit -m "合并"

步骤5:git push (就是推送到远程)

12、推送分支

关于push

git push <远程主机名> <本地分支名>:<远程分支名>

git push <远程主机名> :<远程分支名> (默认操作当前的分支)

git push <远程主机名> <本地分支名> (默认远程分支和本地分支 是同一个)

git push <远程主机名> : (把本地仓库的所有分支对应的推送到远程服务器上)

例子:git push origin test2:test2

!!!!切记: 如果命令中有冒号,且冒号前后有对应的分支名。 千万别在冒号左右两边增加空格。会导致命令执行的并不是你想要的结果,有的甚至会报错。 git 会把 冒号左右两边的空格当作没有填写分支处理。

13、查看指定文件的记录(不是很好用)

git blame <file>

14、打标签

git tag -a <message>

git tag -a <message> <head> 指定给哪个提交打标签

15、查看标签

git tag

16、从标签处拉分支

git branch <新的分支名> <tag名称>

17、查看日志

git log 如果记录特别多 就 上下键 进行上下翻页。Q就是退出查看

git log --oneline 简洁版

git log --reverse --oneline 逆向展示

git log --author=<用户名> 查看指定用户提交的记录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值