简介
Git 是一款分布式版本控制系统,可以更好的对文件进行管理、备份、回退等操作,优点是在不同的电脑上实现文件的实时更新和同步。FEALPy的管理和协同开发就是基于git来完成的。
Git 有的三个工作区域和四个工作状态,了解这些才可以知道git的基本操作流程。三个工作区域是:
- 工作目录:可以看见的文件夹里的文件
- 仓库:看不见的(可以在 github 上看),这里边放的是你完成一个项目,要分享给别人东西
- 暂存区域:当你修改一个文件后,你要将他放到一个地方,这个地方放里的所用东西是准备要提交到 git 仓库中的
四个工作状态分别未追踪,未修改,已修改,已暂存
-
当你新建一个文件就是属于未追踪,你需要通过 add 命令把他加到暂存区,这时他就被 git 追踪到了,之后的每一次修改 git 都会记录。未修改,已修改是看文件你有没有改动过。修改过得你可以通过add 加到加到暂存区。已暂存就是在暂存区里的东西。
-
git 的流程就是,将新建或者修改的文件通过 add 加到暂存区,然后通过 commit 将暂存区的东西放入 git 仓库。
基本使用方法
创建仓库和同步远程仓库
git init #对本地文件用git进行管理
git remote add origin [远程仓库地址] #关联本地仓库和远程仓库
git clone [远程仓库地址] #将远程仓库建立到本地上
git pull #将远程仓库内容拉取到本地
提交到远程仓库的步骤
git status #看现在文件的状态
git add . #将所有文件放到暂存区,也就是说将文件状态变为已暂存
git commit #将暂存区的东西都提交到git仓库中
git push #将本地仓库推送到远程git服务器上
版本回退
git log #查看仓库中推送的版本号和信息
git reset --hard [commit id] #将仓库回退到id的版本
分支管理
git checkout -b master2 #创建并切换到新建分支
git checkout master2 #切换分支
git branch -d fmaster2 #删除分支
FEALPy的协作开发
Gitlab
-
在项目主分支上建立一个分支,点击原作者仓库 gitlab 右上角的 fork, 就会在自己的 gitlab 中新建一个同名仓库
-
在自己的分支上进行操作,将自己 gitlab 中的同名仓库 git clone 到自己的本地, 然后就可以进行一系列操作, git add, git commit, git pull, git push, 也就是和平常经常进行的操作并无二制.但注意pull的时候需要如下进行
git fetch --all git merge upstream/master origin/master
-
向管理员提交 pull request,首先在自己的仓库页面, 点击左侧的 Merge Request,再点击 New Merge Request,
确定上传到哪个分支, 点击 Compare branches and continue, 写清楚提交的理由点击submit,之后等待管理员审核即可.
Github
- fork项目到自己的仓库中
- 打开命令行,将项目下载到本地
- 进入本地文件,并进行相应修改,同样pull时候要
git fetch --all
git merge upstream/master origin/master
- 上传到自己的GitHub仓库,并申请Pull Request
常用技巧
解决Could not resolve host: github.com
git config --global --unset http.proxy
git config --global --unset https.proxy
每次push的时候不用输入用户名和密码
#在用户主目录home下输入
touch .git-credentials
vim .git-credentials
https://{username}:{password}@github(gitlab).com #在git-cerdential里输入用户信息
git config --global credential.helper store
解决中文乱码
git config --global core.quotepath false
附录
1.官方帮助文档
3.简易上手指南