git初识

来源:互联网 发布:linux tar命令出错 编辑:程序博客网 时间:2024/06/04 18:04

以前没有用过git来管理项目,跟svn和cvs还是有一些区别的。

个人理解简要笔记:

需要安装git客户端exe.

安装完成后默认已经将git相关命令添加到pc(我用的windows)的环境变量里。

然后需要配置一下git本地的变量:打开git bash命令窗口,配置用户名和邮箱,这两个主要是为了以后提交管管理代码加日志标记用的,没有别的更大的用处。

一般项目已经存在于线上服务器上,换新工作过来,从领导那拿到属于github或者gitlab项目的权限帐户名和密码,然后只需要将上述几个步骤做完,然后在想放项目的文件目录下右键鼠标打开git bash控制窗口,执行git clone 项目https网址  命令,(需要输入用户名和密码)这样即可完成远程项目向本地的clone.



如果自己要新建一个本地项目添加到远程的git仓库:

我的做法是先通过网页创建一个远程project项目。

在本地通过git bash将远程project clone到本地,此时得到的将是一个空的本地仓库。

然后在本地空仓库里直接创建文件夹或者直接用android studio新建项目将存放位置配置成此空本地仓库下。

项目创建好时或开发一定程度后,通过git bash窗口

1 touch README.md2 git init3 git add README.md4 git commit -m "first commit"5 git remote add origin git@github.com:sysublackbear/Learmgitfirst.git   换成自己的线上地址6 git push -u origin master


touch README.md //新建一个记录提交操作的文档  git init //初始化本地仓库  git add README.md //添加  git commit -m "first commit"//提交到要地仓库,并写一些注释  git remote add origin git@github.com:youname/Test.git //连接远程仓库并建了一个名叫:origin的别名  git push -u origin master //将本地仓库的东西提交到地址是origin的地址,master分支下  

Command line instructions

Git global setup
git config --global user.name "dongbaoming123"git config --global user.email "dongbaoming123@163.com"
Create a new repository 创建本地仓库
git clone https://gitlab.com/donggroup/secondtestproject.gitcd secondtestprojecttouch README.mdgit add README.mdgit commit -m "add README"git push -u origin master
Existing folder 将已有文件与远程库关联
cd existing_foldergit initgit remote add origin https://gitlab.com/donggroup/secondtestproject.gitgit add .git commitgit push -u origin master
Existing Git repository
cd existing_repogit remote add origin https://gitlab.com/donggroup/secondtestproject.gitgit push -u origin --allgit push -u origin --tags

-----------------------------------------------------------

记录点实际的

git使用主要是理解仓库、暂存区、工作区三个概念。

工作区就是我们从远程仓库clone下来的根目录及其下的空间。

通过git init产生的.git文件就是所谓的本地仓库,本地仓库中包括一个暂存区和分支(我的理解是暂存区与分支是对应成对存在的,不同的分支有不同的暂存区对应)。

git命令通过先add将变更添加到暂存区,然后只有通过commit才真正提交到了本地的仓库。

这里有一个很重要的东西需要理解,本地仓库和远程仓库到底有什么区别?

其实我的理解是本地仓库和远程仓库根本没有区别,都是仓库都是存放同一个项目代码,只不过空间位置不一样罢了。个人电脑上了可以作为远程的一个仓库所在地,所谓的远程仓库就是为了大家远程协作而单独拿出来一个机器作为服务器,在这个服务器上放了项目源码,这样大家就可以很方便的都从远程的这个服务器上操作项目共同协作开发,每个人都可以从远程的这个仓库clone一个本地的仓库。所以仓库是无区别的,只是为了更好的协作工作所以才专门搞一个专职的远程仓库,其实每个协作者之间也是完全可以互相合并代码的。

android 开发时候,远程项目默认有一个master分支,其实每个分支默认创建时都是拥有项目完整的源码。一般master分支只有在最终版本要上线的时候才会用到,平时开发都是在别的分支上进行,比如新建一个dev分支,平时大家开发都是从dev分支上更新或者push代码到dev分支.

对应的本地仓库也应该创建除默认clone得到的一个master分支之外的dev分支,一般名称与远程dev分支名称一致。本地开发时切换到dev分支,通过一系列的add,commit完成项目一个版本完成前的所有操作。这样此是dev分支其实就是一个最新版本的完整代码。这个过程中会不定时的根据需要将本地dev分支通过push通送到远程的dev分支。版本完成时远程dev分支其实也是保存有当前最新版的完整代码。上线前将本地dev分支合并到本地master分支,基实质就是将dev开发过程中所有的commit记录都合并到master分支的commit记录列表之后,使本地master分支也拥有最新版本完整代码。再通过本地master分支将代码推送到远程master分支。所以上线时,远程和本地所有分支的代码应该是一致的。

在开发过程中所有的add,commit都可以单独通过命令窗口完成。但是本人觉得命令行与android studio两者结合操作最为可靠,通过studio的图形界面操作add 与commit,通过命令行查看提交和数据变化状态以及本地分支的切换、新分支的创建、分支与远程分支的关联等。

不管怎么操作,都要时刻记住每一次操作都尽量做到考虑清楚再操作。减少误操作或错操作。




参考文章http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/


push到远程分支:

git push origin local_branch:remote_branch

这个操作,local_branch必须为你本地存在的分支,remote_branch为远程分支,如果remote_branch不存在则会自动创建分支。

类似,git push origin :remote_branch,local_branch留空的话则是删除远程remote_branch分支。




0 0
原创粉丝点击