使用git-项目开发

Git使用

之前和同学合作写项目的时候,使用到了git,但是也只是使用了一两次,基本是整个模块完成了之后才一起提交的,感觉并没有很好的发挥git的作用。
今天想上传一个已经完成的项目,直接往github上传的话只能上传文件,不能上传文件夹,也挺麻烦的。所以又想到了git。记录一下。

git与github

本人理解是,git是一个本地的代码管理器,当我们在某个文件夹下使用这个工具后产生.git文件夹后,git就可以记录当前文件夹中的每一次commit;而github是一个远程代码仓库,其内容存储在远程服务器上,可以记录用户对远程的每一次commit。

一般在本地自己记录文件夹内内容变换的话使用git就够了;此时如果想把内容上传到github开源,可以commit到服务器。如果是多个开发者合作开发,就要通过github记录每个用户的操作了。

git安装和初始化

  1. 直接在git官网上下载git,然后傻瓜式安装。注意系统版本。
  2. 安装完成后右键可以看到新增了两个功能选项:
git bash here
git gun here
  1. 配置自己的身份
git config --global user.name "yourname"
git config --global user.email "youremail"
  1. 检查是否配置成功
git config --global user.name
git config --global user.email

使用git本地开发

在本地某个项目文件夹中使用git,记录每一次提交的更改。
1. 新建文件夹并初始化git

git init

随便在某个目录下新建文件夹,如:leeham;进入该文件夹,右键–‘git bash here’,进入git-bash界面;输入’git init’–回车;可以看到leeham文件夹中看到一个’.git’的隐藏文件夹

  1. 修改文件夹内容

在文件夹中随意操作,这里我新建了一个first.txt,同时向文本文件中写入“hello world”

  1. 提交修改
git add .

上命令将之前的内容添加到待提交的清单下,此时还没有提交

git commit -m "my first commit"

该命令实现将此次更改提交,-m参数用来加上提交的描述信息,这个是必须的,没有描述信息的提交被认为是不合法的
4. 查看修改

git status
git diff

这是查看距离最近这次commit我们都做了哪些修改。这里我对first.txt的内容做了修改,然后分别输入git status和git diff,前者可以看到修改了哪些文件,后者可以具体看到修改的内容。

  1. 撤销未提交的修改
git checkout <文件夹>
git reset <文件夹>

第一条可以撤销add之前的内容;第二条可以撤销add之后commit之前的内容。

  1. 查看提交记录
git log
git log -p

第二条比第一条更详细和具体。

  1. 分支操作

分支是git中非常重要的概念,它主要的作用就是在现有代码的基础上开辟一个分岔口,使得代码可以在主干线和分支线上同时进行开发,且相互之间不会影响。

git branch -a
git branch newBranch
git checkout newBranch
git branch -d newBranch

第一条查看当前所有分支;第二条新建分支”newBranch”;第三条切换分支;第四条删除分支

使用git远程协同开发

使用git和github进行协同开发流程
1. 源仓库的构建

在github中新建一个rep,并且初始化两个永久性分支master和develop

  1. 开发者仓库
git clone url...

开发者fork源仓库;然后将开发者仓库clone到本地

  1. 构建分支进行开发
git checkout develop //切换到`develop`分支
git checkout -b newBranch //分出一个新分支
touch discuss.js //是此次开发的功能
git add .
git commit -m 'develop new commit'
git checkout develop //回到develop分支
git merge --no-ff newBranch //把做好的功能合并到develop中
git branch -d newBranch
git push origin develop
  1. 向管理员提交pull request

请求管理员把自己仓库的develop分支合并到源仓库的develop分支中,这就是传说中的pull request。

猜你喜欢

转载自blog.csdn.net/lee_ham/article/details/80371923