软件构造git

简介

Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。

Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。

Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持。

工作区、暂存区和版本库

Git 项目拥有三个阶段:工作区、暂存区以及 版本库。

工作区: 电脑上看到的目录,供你使用或修改。
暂存区: 是一个文件,保存了下次将要提交的文件列表信息,一般在 Git 仓库目录中。 也叫做“索引”,它是工作区和版本库交互的桥梁
版本库: 又名仓库,用来保存项目的元数据和对象数据库的地方,是工作区的一个隐藏目录 .git.

基本的 Git 工作流程如下:

  1. 在工作区中修改文件。

  2. 将你想要下次提交的更改选择性地暂存,这样只会将更改的部分添加到暂存区。

  3. 提交更新,找到暂存区的文件,将快照永久性存储到 Git 目录。

git创建版本库

git创建本地仓库

创建git仓库步骤很简单,首先进入需要版本控制的项目目录, 然后进行初始化。不同操作系统命令做法有些不同,以下以Windows命令为例。

$ cd /c/myrepository

$ git init

该命令将创建一个名为 .git 的子目录,这个子目录含有你初始化的 Git 仓库中所有的必须文件,

如果目录下已有文件(非空文件夹),你需要使用git add把文件添加到仓库,然后执行git commit提交文件到仓库:

$ git add *.c

$ git add README.txt

$ git commit -m ‘initial project version’

克隆远程仓库

同 git init 一样的作用,也是创建本地仓库,只不过 git init 是直接将本地项目作为本地仓库,而git clone 是将远程项目克隆到本地并作为本地仓库.

克隆仓库的命令是 git clone 。 比如,要克隆 Git 的链接库 libgit2,可以用下面的命令:

$ git clone https://github.com/libgit2/libg

指令操作

Git init 初始化本地仓库

Git clone 克隆远程库

提交与修改

Git add 添加工作区文件到暂存区

git add -f 假如文件被忽略这样可以强制添加

Git commit -m “add your commit message” 提交暂存区到本地仓库, -m后面是提交信息

Git status 查看仓库当前状态,显示有变更的文件

Git diff 比较文件的变化,即暂存区和工作区的差异

git diff 查看某个文件的修改内容。文件名省略的话,是指查看工作区内所有文件的修改情况

git diff HEAD – 查看工作区和版本库里面最新版本的区别

git reset --hard HEAD^ (git reset --hard 版本编号) 版本回退

git reset HEAD 添加到了暂存区时,想丢弃修改

git checkout 当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时

Git rm 删除工作区文件,并且将这次删除放入暂存区(然后需要执行commit提交删除操作)

查看日志

Git log 查看历史提交记录

Git blame 以列表形式查看指定文件的历史修改记录

远程操作

针对使用git clone命令克隆到本地的项目,还会用到以下命令:

Git remote 查看远程库信息

git remote -v 更加详细的查看

Git fetch 从远程仓库获取最新版本到本地

Git pull 从远程仓库获取最新版本并合并到本地

Git push 上传代码到远程仓库并合并,

git分支管理
分支管理主要用于开发团队里,即每个人可以从开发主线上分离出来,创建各自的分支,在分支上完成自己的工作,待工作完成后提交结果到主线上。这样大家可以在不影响主线的同时继续工作。

git branch 查看当前分支

git branch 创建新分支

git checkout 切换分支

git checkout -b 创建新分支,然后切换到新分支

git merge 合并分支到当前分支

git merge --no-ff -m “xxxxx” 合并分支时,加上–no-ff参数就可以用普通模式合并,合并后的历史有分支,能看出来曾经做过合并,而fast forward合并就看不出来曾经做过合并

git branch -d 删除分支

git branch -D 强行删除

git pull origin 拉取远程branchname分支文件并合并到本地

git push origin 推送到远程branchname分支

git rebase 变基(线路变得好看)

git tag 打标签

git tag -a -m “balabalbal…” 可以指定标签信息

git tag 查看所有标签

git show 查看该标签版本信息

git tag -d 删除标签

git push origin 推送标签到远程

git push origin --tags 一次性推送全部尚未推送到远程的本地标签

git push origin :refs/tags/ 可以删除一个远程标签

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值