一、gitlab新建项目
- 项目名称: 可以为字母、 数字、 空格、 下划线、 中划线和英文点号组成, 且必须以字母或数字开头, 不能使用中文
- 项目描述
- 可见性(库类别):私有、内部、公开 项目有两个连接地址:ssh 和 http
二、从Gitlab上clone代码到本地
前提:Project公开
或 个人Project
方式一:git 命令行clone(ssh连接)
- 进入想存放Project的目录,右键选择
git bash
,进入命令行 git clone git@****.git
方式二:Pycharm(HTTP连接)
- 在 PyCharm 中
Checkout GitLab
: VCS -> Checkout from Version Control -> Git - 在打开的
Clone Repository
对话框中URL
填入http地址:http://****.git
,并Test
测试联通性 - 选择要存放项目的目录,并设置文件夹名称,点击Clone,完成。
三、本地代码上传Gitlab
方式一:git 命令行(ssh连接)
- 进入项目目录,右键选择
git bash
,进入命令行 git init
git remote add origin git@****.git
git add .
git commit -m '添加备注'
git push -u origin master
方式二:Pycharm(HTTP连接)
- 创建 Git 仓库: VCS -> Import into Version Control -> Create Git Repository,选择本地目录
- 将修改添加到暂存区: VCS -> Git -> Add
- 将项目 Commit 到本地仓库: VCS -> Git -> Commit Directory…
(后三点暂未调试成功)
- 选中需要提交的文件, 并填写好 Commit Message , 点击 Commit 后可能需要填写 GitLab 账号的信息(用户名、 邮箱)
- 将本地分支的更新, 推送到远程主机: VCS -> Git -> Push
- 将刚才在 GitLab 中新建的项目的 HTTPS 链接复制到 URL 中,点击 OK;输入 GitLab 账号密码, 点击 OK;点击 Push
四、Git基本操作
1.创建版本库 : git init
2. 工作区与暂存区:
(1) git add <path>
,将当前工作区内容添加到暂存区,此时文件或目录将处于追踪状态 (tracked) 。
(2)git commit -m <message>
, 将暂存区内容提交到当前分支, 默认为 master
分支.
(3) git reset HEAD <file>
,将暂存区修改撤销掉, 放回工作区:
(4) git checkout -- <path>
,撤销工作区更改 让文件回到最近一次 git add 和 git commit 时
的状态, 针对的是工作区
(5)git status
,仓库当前状态
3.修改与差异
(1) git diff ,比较修改差异
- 比较工作区与暂存区:
git diff <path>
不加参数 - 比较暂存区与最新本地版本库(本地库中最后一次commit的内容):
git diff --cached [<path>...]
- 比较工作区与最新本地版本库:
git diff HEAD [<path>...]
,若HEAD指向的是master分支,那么HEAD可换成 master
(2) git log , 查看提交日志:commit id(版本id),时间,作者,日志
4.版本回退 : git reset
5.分支管理
git branch
:显示当前所有分支git branch <branch name>
:创建新分支
git checkout <branch name>
:切换到分支
可合并为git checkout -b <branch name>
git checkout master
:切换到主分支
git merge <branch name>
:将新建分支合并到 master 主分支上
git branch -d <branch name>
:合并完成后删除新建分支
6.从远程仓库克隆git clone
将本地 master
与远程 master
对应起来, 远程仓库默认名字为 master
. 假如远程库中还有其他分支, git clone
不会自动将其他分支也克隆下来, 需要自己添加, 创建远程 origin
的 dev
分支到本地, 命令为: git checkout -b dev origin/dev
此时在本地对本地库 dev
分支进行更改后, 可以推送更改并提交到远程库: git push origin dev
如果推送时失败, 即与远程库出现冲突, 则需要先将远程库 pull
下来, 在本地合并和解决冲突后再推送.pull
前如果本地分支与远程分支链接关系没有创建则会提示 no tracking information
, 创建链接关系的命令为: git branch --set-upstream-to=origin/<branch name> <branch name>
第一次推送master分支时, 加上-u参数, 会在推送的同时建立本地master与远程master的关联