随着git越来越火,学习好git的常规操作是很有必要。我们从本地->远程,使用https到使用ssh来介绍使用git
前言:git的初始化配置
1、创建文件夹
mkdir 文件名
2、初始化
初始化本地仓库(.git目录)
存放的是本地库配置信息,不要胡乱删除修改。git init
3、设置签名
3.1 形式:
用户名:rogchen
email地址:c****@163.com
作用:区分不同开发人员的身份
辨析:这里设置的签名和登录远程(代码托管中心)的账号和密码没有任何关系
命令:
1
2
3
4
5
6
7
8
9
10 #设置系统级别
git config --global user.name rogchen
git config --global user.email c****@163.com
#查看是否设置成功,路径:当前用户家目录下 ~/.gitconfig
cat ~/.gitconfig
#设置项目级别
git config user.name rogchen
git config user.email c****@163.com
#查看是否设置成功,路径:当前项目/.git/config
cat .git/config
项目级别/仓库级别, 仅在当前目录下有效
系统用户基本:登录当前 操作系统的用户范围
基本优先级就近原则:项目基本优先于系统用户级别,二者都有采用项目级别
如果只有系统用户级别签名,就以用户级别的签名为准。
二者都没有不允许。
正常使用全局设置,除非需要指明用户
正式使用git
一、 git本地仓库的操作
1 |
|
二、git版本管理
1 | # 查看git提交历史,多屏显示时:空格向下翻页,b向上翻页,q退出 |
推荐使用索引来操作,其它需要手动数部署
命令差别 reset命令三个参数 –sort;–mixed;–hard1
2
3
4
5
6
7
8
常用hard命令来重置
三、从删除文件恢复
1 | rm 文件 #本地删除 |
文件比较-diff
1 | # 没有参数就是工作区跟缓冲区比较 |
不指明文件名比较所有
四、分支/冲突
好处:
1、同时并行推进多个功能开发,提高开发效率。
2、各个分支在开发过程中,如果某个分支开发失败,不回对其它分支有影响,失败的分支删除即可。1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
git branch -v
git branch 分支名
git checkout 分支名
git checkout master
git merge 新内容分支名
五、提交到远程仓库
本地仓库创建完成1
2
3
4
5
6
7
8
git remote -v
git remote add origin https://github.com/rogchen/test.git
git push origin master
git push -u origin master
六、克隆远程仓库
clone 介绍
a、完整的把远程库下到本地
b、创建origin远程地址别名
c、初始化本地库
1
2 # 克隆仓库
git clone https://***.git
七、将其它用户添加到远程仓库管理
去github 选中仓库-collaborators-选择用户。
用户访问邀请地址-接送
这时候用户就可以推送到test这个仓库了。
八、拉取pull命令
pull是fetch(拉)和merge(合并)操作1
2
3
4
5
6
7
8
9
10
11
12
13# 抓取远程内容-不该本地工作区内容
git fetch origin master
# 查看我们抓起内容
git checkout origin/master
#这时候使用查看命令就可以看到抓取内容了
cat 文件名
#切回本地库
git checkout master
#远程库合并到本地库
git merge origin/master
#简单使用拉起命令-无法比对
git pull origin master
使用审核功能 pull request
使用新用户访问test仓库进行fork操作1
2
3
4
5# 克隆项目
git clone 新用户的项目地址.git
# 修改提交-记得使用新用户账号
git push origin master
# 成功提交到新用户的远程仓库
进入github管理界面-选择pull requests-选择creat pull requests
切换到主干用户的github管理界面
选择pull requests-查看新用户提交的pull requests-files changed
进行文件的修改,如果没有问题就进行 merge pull request进行合并代码。
九、远程仓库冲突
用户1提交了更新
用户2提交了同个文件更新
这时候报错处于mereging状态
跟本地仓库解决冲突一样。
要点:
a、如果不是基于github远程库最新版所作的修改,不能推送,必须先拉取。
b、拉取下来如果进入冲突,则按照“分支冲突解决”操作的方法解决即可。
十、使用ssh登录
使用ssh来链接github这样只能使用当前用户,https操作可用切换用户进行多用户操作。1
2
3
4
5
ssh-keygen -t rsa -C 邮箱地址
git remote add origin_ssh git@****仓库地址