首先,简单介绍一下git。
Git是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。Git 仓库目录是 Git 用来保存项目的元数据和对象数据库的地方。 这是 Git 中最重要的部分,从其它计算机克隆仓库时,拷贝的就是这里的数据。工作目录是对项目的某个版本独立提取出来的内容。 这些从 Git 仓库的压缩数据库中提取出来的文件,放在磁盘上供你使用或修改。暂存区域是一个文件,保存了下次将提交的文件列表信息,一般在 Git 仓库目录中。 有时候也被称作`‘索引’',不过一般说法还是叫暂存区域。
基本的 Git 工作流程如下:
-
在工作目录中修改文件。 -
暂存文件,将文件的快照放入暂存区域。 -
提交更新,找到暂存区域的文件,将快照永久性存储到 Git 仓库目录。
如果 Git 目录中保存着的特定版本文件,就属于已提交状态。 如果作了修改并已放入暂存区域,就属于已暂存状态。 如果自上次取出后,作了修改但还没有放到暂存区域,就是已修改状态。
Git托管的服务器也有很多,国外最流行的是GitHub、Gitlab和Bitbucket,国内的主要是开源中国代码托管、coding.net和码云,在上面都可以创建自己的项目,通过git实现本地仓库和远程仓库的同步。
接下来说一下Git常用的命令(按项目流程介绍)
git init
在本地新建一个文件夹,进入目录后执行git init,会初始化,并在当前文件夹下创建一个.git文件夹
git clone [url]
从代码托管平台上复制你的项目地址,然后执行git clone [url] 会把你在托管平台上创建的项目同步至本地
git status
查看当前状态,有几个分支等等。
git branch [branchname]
创建分支
git checkout [branchname]
切换分支,同样可以切换到master上去
git checkout -b [branchname]
创建并切换到该分支
当然,也可以在托管平台上直接创建分支,然后本地使用git pull 和git checkout [branchname]切换到此分支上,进行代码的开发
git branch
查看分支
git branch -a
可查看本地分支和远程分支
git merge [branchname]
合并分支到master上
git add .
提交代码至缓存区
git commit -m [备注信息]
提交代码到当前分支
git pull
更新代码。git pull一般只能在master上用,如果在非master上,更新分支使用 git pull origin [branchname]
git push
提交代码至远程仓库。与git pull一样,在非master上提交代码,需要使用 git push origin [branchname]
git log
查看所有提交日志,可查看版本号,撤销代码修改时会用到
git reflog
查看所有的提交日志,如果当前回退到旧版本用git log无法查看到新版本的日志,此时使用git reflog
git checkout --filename
在工作区时,撤销上次代码修改
git reset HEAD filename
从暂存区回到工作区,执行相应操作撤销代码修改(即代码回滚,代码回滚的方式有很多,reset为其中的一种,具体回滚方式可以参考这篇博客https://blog.csdn.net/lovesummerforever/article/details/71526900)
git reset --hard [版本号]
回到指定版本号(注意:此时代码已经commit到分支了但是还没有git push到远程仓库)
如果代码已经git到了远程仓库,那基本没救了。当然也可以执行git reset --hard [版本号] 回到指定版本,然后强制更新远程仓库,不过这样做是很危险的,因为这样会破坏掉你团队其他成员提交的代码
以上所有git命令为项目中常用到的,除此之外还有很多命令,详情可见https://blog.csdn.net/tomatozaitian/article/details/73515849
|