Git简介及安装:https://www.cnblogs.com/xiuxingzhe/p/9300905.html
Git秘钥生成以及Gitlab配置:https://www.cnblogs.com/xiuxingzhe/p/9303278.html
TortoiseGit安装、配置:https://www.cnblogs.com/xiuxingzhe/p/9312929.html
安装配置好Git和TortoiseGit后就可以创建 New Group 及 New Project 了,此处略过。
# 在当前目录新建一个Git代码库
$ git init
# 新建一个目录,将其初始化为Git代码库
$ git init [project-name]
# 下载一个项目和它的整个代码历史
$ git clone [url]
Git的设置文件为.gitconfig,它可以在用户主目录下(全局配置),也可以在项目目录下(项目配置)。
# 显示当前的Git配置
$ git config --list
# 编辑Git配置文件
$ git config -e [--global]
# 设置提交代码时的用户信息
$ git config [--global] user.name "[name]"
$ git config [--global] user.email "[email address]"
添加文件到暂存区:
# 添加指定文件到暂存区
$ git add [file1] [file2] ...
# 添加指定目录到暂存区,包括子目录
$ git add [dir]
# 添加当前目录的所有文件到暂存区
$ git add .
删除工作区文件:
# 删除工作区文件,并且将这次删除放入暂存区
$ git rm [file1] [file2] ...
# 提交暂存区到仓库区
$ git commit -m [message]
# 提交暂存区的指定文件到仓库区
$ git commit [file1] [file2] ... -m [message]
git branch 列出分支:
# 列出所有本地分支
$ git branch
# 列出所有远程分支
$ git branch -r
# 列出所有本地分支和远程分支
$ git branch -a
git checkout 切换分支:
# 新建一个分支,并切换到该分支
$ git checkout -b [branch]
# 切换到指定分支,并更新工作区
$ git checkout [branch-name]
git merge 合并分支
# 合并指定分支到当前分支
$ git merge [branch]
删除分支:
# 删除分支
$ git branch -d [branch-name]
# 删除远程分支
$ git push origin --delete [branch-name]
$ git branch -dr [remote/branch]
# 显示有变更的文件
$ git status
# 显示当前分支的版本历史
$ git log
# 显示commit历史,以及每次commit发生变更的文件
$ git log --stat
# 显示过去5次提交
$ git log -5 --pretty --oneline
# 显示暂存区和工作区的差异
$ git diff
(1)在当前目录新建一个Git代码库
git init
(2)添加所有文件添加到暂存区
git add .
(3)提交暂存区到仓库区
git commit -m "first commit"
(4)添加远程仓库
git remote add origin git@xxx.xxx.xxx.xxx:group-name/projectname.git
(5)拉取远程分支信息,首次拉取合并信息
git pull
(6)提交到远程仓库
git push -u -f origin master
这个命令中的 -f 是强制推送,因为远程仓库只有初始化的文件,所以强制推送上去就行了,不加-f 会报当前分支没有远程分支,强制推送可以覆盖master,这样就完成了第一次提交的步骤。
(1)首先操作之前查看当前分支
git branch
(2)更新代码到本地
git pull
(3)本地修改文件(或者新增文件)
(4)创建dev分支,并切换到dev分支
git checkout -b dev
git branch
可以看到已经在dev分支上
(5)将修改文件由工作区提交到暂存区
# 添加当前目录下的所有文件
git add .
# 添加 new_folder 目录下的所有文件
git add new_folder/*
# 添加 new_folder 目录下的 new_file.py 文件
git add new_folder/new_file.py
(6)将文件从暂存区提交到版本库
git commit -m '备注信息'
(7)基于dev分支提交到远程仓库(有master分支权限)
切换到master分支上:
git checkout master
将dev分支的代码合并到master上:
git merge dev
或
git merge --no-ff -m '合并dev分支到master' dev
再将master分支的代码提交到远程,提交之前先更新:
git pull origin master
更新完成后,进行提交:
git push -u origin master
到此就完成开发分支与master分支代码的合并与提交操作了。
(8)基于dev分支提交到远程仓库(无master分支权限)
git push origin dev
我们将文件提交到dev分支后,还需要合并到主干。此时,在Gitlab页面可以发送合并请求:
待相关负责人员 Accept Merge Request 后,即成功地将dev分支提交的内容合并进主干分支。
【参考博客】:Gitlab权限管理: https://www.cnblogs.com/minseo/p/9012195.html
(1) Git global setup
git config --global user.name "xxx"
git config --global user.email "[email protected]"
(2) Create a new repository
git clone [email protected]:group-name/project-name.git
cd project-name
touch README.md
git add README.md
git commit -m "add README"
git push -u origin master
(3) Push an existing folder
cd existing_folder
git init
git remote add origin [email protected]:group-name/project-name.git
git add .
git commit -m "Initial commit"
git push -u origin master
(4)Push an existing Git repository
cd existing_repo
git remote rename origin old-origin
git remote add origin [email protected]:group-name/project-name.git
git push -u origin --all
git push -u origin --tags