git bash操作

时间:2021-02-22 23:04:59

1. GIT说明

1> git是分布式,或者说是去中心化的。表现为:

  • 开发者的可以在本地使用git并完美的控制自己的版本,而无需与服务端交互;
  • 开发者可以将本地库在某个服务端备份,这种情况类似SVN的模式;
  • 不同开发者可以互相参考彼此的本地库,如A可以从B的本地库pull版本,也可把自己的本地库版本push给C,ABC三者本地库可以各不相同,但主题一致,这就有社区的感觉。

2> git与其它版本管理工具一样,在push代码时都可能会有冲突,而且冲突只能在本地解决后再push。

3>git与其它版本管理工具相比,最惊艳的就是分支手段,通过分支可以很方便的进行开发版本管理,而且分支切换效率让人震撼,比如本地两个不同的分支版本X和Y,二者代码差异比较大,通过git checkout Y从分支X切换到Y时,会发现,毫秒级的时间里,硬盘上的代码就从X分支全部变成Y分支。

2. 文件区域

git bash操作

上面有4个文件区域,如果只是在本地做版本控制,则不用考虑远程仓库。只对本地文件进行修改,影响的是工作区间;添加文件后执行git add,影响的是缓存区;只有commit后才会影响本地仓库;另外可以通过git reset回退代码。

2. 基本命令

类型

命令

描述

代码区域

git init

在当前目录初始化一个空的git仓库

git clone

https://github.com/ikexiao/he

llo-word

从远程主机克隆一个版本库。

注意冒号前面是协议名称,包括http[s],ssh,git,ftp[s]等。

远程仓库

git remote [-v]

显示远程仓库,-v表示显示地址

git remote add origin ssh://software@172.16.0.30/~/yafeng/.git

在本地仓库添加一个远程仓库

git remote rm origin

删除一个远程仓库

文件增删改查

git add file

添加文件到缓存区

git commit -m "comments" file

提交文件到本地仓库

git push origin master[:远程分支名]

将本地master修改推送到远程origin仓库的master分支

git pull origin master

从远程origin仓库拉回代码到master分支

git checkout

汇总显示工作区、暂存区与HEAD的差异

git checkout [--] .

这条命令最危险!会取消所有本地的修改(相对于暂存区)。相当于用暂存区的所有文件直接覆盖本地文件,不给用户任何确认的机会!

git checkout [branch] -- filename

用分支暂存区的文件替换工作区文件

git reset -hard

git reset -mixed

git reset -soft

版本回退方法。-hard回退后工作区、缓存区、本地仓库全部回退;-mixed会保留工作区代码; -soft会保留工作区和缓存区代码

分支

git branch [-v]

列出当前所有分支的清单,当前分支前面会有个星号。

加-v选项能看到各分支最近一个提交信息

git branch branch-name

git checkout -b branch-name

创建分支;

创建并切换分支

git branch -d branch-name

删除分支

git checkout branch-name

切换分支,注意:切换分支后工作区的文件会随之切换。