一、GitBash安装与使用
参考:
https://www.cnblogs.com/jasonxu19900827/p/7823089.html
二、SourceTree安装与使用
SourceTree安装教程:
https://blog.csdn.net/chang_ge/article/details/80796266
SourceTree使用教程:
https://www.cnblogs.com/tian-xie/p/6264104.html
三、Git常用命令
Git命令大全:
https://www.cnblogs.com/Gxiaopan/p/6714539.html
1.初始化
git init git config --global user.name "dulingyu"<填写自己的名字> git config --global user.email dulingyu52@126.com<填写自己的邮箱> git config --list 查看git初始化后的用户信息 git --version 查看git版本信息(git version 2.7.2.windows.1)
2. Git基本命令
加入暂存(索引区): git add <代码文件>
查看状态概述: git status -s
提交更新: git commit -m “描述”
查看git提交日志: git log
git stash
回滚:git reset <ID>
--soft 缓存区和工作目录都不会被改变
--mixed 默认选项。缓存区和你指定的提交同步,但工作目录不受影响
--hard 缓存区和工作目录都同步到你指定的提交
查看回滚前的历史log: git relog
查看尚未暂存的文件的变化:git diff <文件name>
查看暂存区文件的变化:git diff --staged <文件name>
从版本库中移除:git rm <文件name>
从暂存区中移除:git rm --cached <文件name>
git mv 相当于mv git rm git add三个命令
撤销对文件的修改: git checkout --file.txt
建立新分支:git branch <分支name>
建立新分支并切换:git checkout -b <分支name> master
切换分支: git checkout <分支name>
合并分支:git merge test
查看有哪些分支:git branch –v
查看哪些分支已merged:git branch --merged
查看哪些分支未merged:git branch --no-merged
3. Git远程命令
获取远程库(用于第一次拉取代码):git clone http://xxx.git
(拉取代码,覆盖原有本地代码)git pull http://xxx.git
(拉取代码,不覆盖原有本地代码)git fetch http://xxx.git
查看有哪些URL远程库地址:git remote -v
添加远程库地址 git remote add xxx<name> http://xxx
查看详细信息:git remote show origin
更改库的名字:git remote rename pb paul
上传代码 :git push origin master
:git push <远程库名字> <分支名字>
给合并后的master或节点打tag:git tag -a v1.0 -m “abc”
对历史打标签: git tag -a v1.2 9fceb02
将标签推向远程: git push origin v1.2
推送多个标签: git push origin --tags
检出标签: git checkout -b version2 v2.0.0
三、GitLab使用
gitlab官方使用文档: https://docs.gitlab.com/
参考博客:https://blog.csdn.net/justlpf/article/details/80681853
https://blog.csdn.net/Adelly/article/details/79099772
1. 用户登录:
在浏览器地址栏输入http://192.168.1.111/(临时登录IP) 回车,进入登陆界面。在登录界面输入用户名及初始登录密码(初始密码为cogrowth),进入更改密码界面,需要更改密码后才能正常登录。登陆后会显示自己所在的group及有权限的projct和下发的任务。
2. 用户权限说明:
Guest(匿名用户) - 创建项目、写留言薄
Reporter(报告人)- 创建项目、写留言薄、拉项目、下载项目、创建代码片段
Developer(开发者)- 创建项目、写留言薄、拉项目、下载项目、创建代码片段、创建合并请求、创建新分支、推送不受保护的分支、移除不受保护的分支 、创建标签、编写wiki
Master(maintainer)(管理者)- 创建项目、写留言薄、拉项目、下载项目、创代码片段、创建合并请求、创建新分支、推送不受保护的分支、移除不受保护的分支 、创建标签、编写wiki、增加团队成员、推送受保护的分支、移除受保护的分支、编辑项目、添加部署密钥、配置项目钩子
Owner(所有者)- 创建项目、写留言薄、拉项目、下载项目、创建代码片段、创建合并请求、创建新分支、推送不受保护的分支、移除不受保护的分支 、创建标签、编写wiki、增加团队成员、推送受保护的分支、移除受保护的分支、编辑项目、添加部署密钥、配置项目钩子、开关公有模式、将项目转移到另一个名称空间、删除项目
3. GitLab配置ssh key
(1)打开本地git bash,使用如下命令生成ssh公钥和私钥对
(2)ssh-keygen -t rsa -C 'xxx@xxx.com' 然后一路回车(-C 参数是你的邮箱地址)
然后打开~/.ssh/id_rsa.pub文件(~表示用户目录,比如我的windows就是C:UsersAdministrator),复制其中的内容
(3)打开gitlab,找到USER Settings(点击页面右上角的用户头像下的Settings即可)-->SSH Keys--->Add SSH Key,并把上一步中复制的内容粘贴到Key所对应的文本框,在Title对应的文本框中给这个sshkey设置一个名字,点击Add key按钮
(4)到此就完成了gitlab配置ssh key的所有步骤,我们就可以愉快的使用ssh协议进行代码的拉取以及提交等操作了
(5)本地配置多个ssh key大多数时候,我们的机器上会有很多的git host,比如公司gitlab、github等,那我们就需要在本地配置多个ssh key,使得不同的host能使用不同的ssh key ,做法如下(以公司gitlab和github为例:
<1>为公司生成一对秘钥ssh key:ssh-keygen -t rsa -C 'yourEmail@xx.com' -f ~/.ssh/gitlab-rsa
<2>为github生成一对秘钥ssh key:ssh-keygen -t rsa -C 'yourEmail2@xx.com' -f ~/.ssh/github-rsa
<3>在~/.ssh目录下新建名称为config的文件(无后缀名)。用于配置多个不同的host使用不同的ssh key,内容如下:
# gitlab
Host gitlab.com
HostName gitlab.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/gitlab_id-rsa
# github
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/github_id-rsa
# 配置文件参数
# Host : Host可以看作是一个你要识别的模式,对识别的模式,进行配置对应的的主机名和ssh文件
# HostName : 要登录主机的主机名
# User : 登录名
# IdentityFile : 指明上面User对应的identityFile路径
<4>按照上面的步骤分别往gitlab和github上添加生成的公钥gitlab_id-rsa.pub和github_id-rsa.pub
<5>再次查看~/..ssh目录下的文件,会有gitlab_id-rsa、gitlab_id-rsa.pub和github_id-rsa、github_id-rsa.pub四个文件
4. GitLab中Issues使用
issues可以用来跟踪任何你想要跟踪的任务。这里的任务可以是待解决的问题,或者待办事项列表,或者将要完成的目标列表。如果issues尚未完成,那么它会保持打开的状态,一旦它被解决,你也可以关闭issues。
登陆Gitlab服务器,切换到想要创建问题的项目,点击Issues,再点击【New issue】,根据情况填写相关问题。