git初使用

        软件构造课上使用git管理代码,提交到远程仓库,本篇记录相关的git学习和使用历程。

一、git的相关背景

        Git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。

一般开发者的角度来看,git有以下功能:

1、从服务器上克隆完整的Git仓库(包括代码和版本信息)到单机上。

2、在自己的机器上根据不同的开发目的,创建分支,修改代码。

3、在单机上自己创建的分支上提交代码。

4、在单机上合并分支。

5、把服务器上最新版的代码fetch下来,然后跟自己的主分支合并。

6、生成补丁(patch),把补丁发送给主开发者。

7、看主开发者的反馈,如果主开发者发现两个一般开发者之间有冲突(他们之间可以合作解决的冲突),就会要求他们先解决冲突,然后再由其中一个人提交。如果主开发者可以自己解决,或者没有冲突,就通过。

8、一般开发者之间解决冲突的方法,开发者之间可以使用pull 命令解决冲突,解决完冲突之后再向主开发者提交补丁。

主开发者的角度(假设主开发者不用开发代码)看,git有以下功能:

1、查看邮件或者通过其它方式查看一般开发者的提交状态。

2、打上补丁,解决冲突(可以自己解决,也可以要求开发者之间解决以后再重新提交,如果是开源项目,还要决定哪些补丁有用,哪些不用)。

3、向公共服务器提交结果,然后通知所有开发人员。

        Git 各平台安装包下载地址为:http://git-scm.com/downloads

二、git管理本地项目

        

        使用git我们首先要了解关于工作区、暂存区和版本库的概念。下面这个图展示了三者的关系:

        

        

        图中左侧为工作区,右侧为版本库。在版本库中标记为 "index" 的区域是暂存区,标记为 "master" 的是 master 分支所代表的目录树。首先使用 git init (使用当前目录作为Git仓库,当然也可以指定目录)命令来初始化一个 Git 仓库。

git init <directory>

        我们也可以使用 git clone 从现有 Git 仓库中拷贝项目,repo为Git仓库(地址),directory为本地目录:

git clone <repo> <directory>

        提交代码之前我们还需要设置用户信息:

git config --global user.name "runoob"
git config --global user.email test@runoob.com

        之后我们就可以管理本地仓库了,介绍几个常用的的命令,首先是:

git add -   //添加文件到暂存区

git add .  //添加目录下的所有文件

        文件添加到暂存区之后我们就可以commit了,使用

git commit -m "message"

        这样就可以将暂存区的文件提交到本地仓库了。

        还有一些命令可能会用到:

git reset	  //回退版本。
git rm	      //删除工作区文件。
git mv	      //移动或重命名工作区文件。
git log	      //查看历史提交记录

        还有一个重要的东西是分支管理,使用分支意味着你可以从开发主线上分离开来,然后在不影响主线的同时继续工作。下面是分支的几个命令:

git branch (branchname)   //创建分支

git checkout (branchname)  //切换分支
git checkout -b (branchname)   //创建一个分支并切换到该分支

git branch -d (branchname)    //删除分支
 
git merge     //合并分支 

三、git提交项目到远程仓库

        本地仓库管理好了之后我们就可以和远程仓库沟通了,关于远程操作的一些命令:

git remote	 //远程仓库操作
git fetch	 //从远程获取代码库
git pull	 //下载远程代码并合并
git push	 //上传远程代码并合并

下面是如何提交本地代码到远程仓库。首先需要设置git源:

git remote add origin XXX

        XXX就是你github或者码云等远程仓库的地址。然后使用:

git pull

        拉取远程分支信息,首次拉取合并信息。最后提交到远程仓库:

git push -u -f origin master

        这个命令中的 -f 是强制推送,因为远程仓库只有初始化的文件,所以强制推送上去就行了,不加-f 会报当前分支没有远程分支,强制推送可以覆盖master,这样就完成了第一次提交的步骤。

参考资料:

Git 教程 | 菜鸟教程 (runoob.com)

(8条消息) git第一次提交代码至远程仓库_技术空间-CSDN博客_git提交代码到远程仓库

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值