当前位置:   article > 正文

github_运维管理 github

运维管理 github

github使用

1.什么是guthub
github是一款软件,用来高效管理数据,文件,项目。linux之父编写,有其自己的网站,分布式系统防止代码丢失,做备份项目的版本管理和控制,可以通过设置节点进行跳转建立各自的开发环境分支,互不影响,方便合并在多终端开发时,方便代码的相互传输。
  • 1

2.github安装

sudu apt-get install git
  • 1

3.概念

工作区:自己正常操作的区域,pycharm支持github也可以在pycharm中使用
暂存区: 记录你的操作(增删改查)等操作。修改等待提交到本地仓库
仓库区: 由暂存区提交到的文件,不会丢失文件
远程仓库: 远程主机上的GIT仓库,可以从上边下载自己传入的文件和传入文件,起到随地都可以下载看和使用的便利。

4.初始配置

**注意:首先需要在本地单独创建一个文件夹,在linux终端命令进入文件夹进行下边操作。**

配置命令:git config
配置所有用户: git config --system [选项]
配置文件位置: /etc/gitconfig	
配置当前用户: git config --global [选项]
配置文件位置: ~/.gitconfig
配置当前项目: git config [选项]
配置文件位置: project/.git/config
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
配置用户名: git config --global user.name zhou
配置用户邮箱:git  config --global user.email 2420026152@qq.com
查看配置信息:tarena@tedu:~/桌面/1906/git_1$ git config --list
								user.name=zhou
								user.email=2420026152@qq.com
								core.repositoryformatversion=0
								core.filemode=true
								core.bare=false
								core.logallrefupdates=true

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

5.基本命令

  1. 1.初始化仓库:git init
  2. 2.查看本地仓库状态:git status
  3. tarena@tedu:~/桌面/1906/git_1$ git status
    位于分支 master
    尚无提交
    未跟踪的文件:
    (使用 “git add <文件>…” 以包含要提交的内容)
    .gitignore
    Linux.pdf
    REANME.md
    Text
    tarena
    tarena.pub
    test/
    z提交为空,但是存在尚未跟踪的文件(使用 “git add” 建立跟踪)
    将工作内容记录到暂存区: git add [|files] git add a b 代表将文件工作内容都寄存到暂存区***
    3.在Git项目中可以通过在项目的某个文件夹下定义.gitignore文件的方式,规定相应的忽略规则每一行可以定义忽略规则
file        表示忽略file文件
*.a         表示忽略所有 .a 结尾的文件
!lib.a    表示但lib.a除外
build/  表示忽略 build/目录下的所有文件,过滤整个build文件夹;
file        表示忽略file文件
*.a        表示忽略所有 .a 结尾的文件
!lib.a    表示但lib.a除外这两个操作会修改工作区内容,同时将操作记录提交到暂存区
build/  表示忽略 build/目录下的所有文件,过滤整个build文件夹;。
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  1. List item

4.取消文件暂存记录 git rm --cached [file]
5.将文件同步到本地仓库: **git commit [file] -m [message]**file 不屑默认暂存区全部文件,message表示备注消息 例:```tarena@tedu:~/桌面/1906/git_1$ git commit -m’WR’
[master (根提交) c3418f2] WR 9 files changed, 101 insertions(+)
create mode 100644 Linux.pdf
create mode 100644 REANME.md
createmode 100644 Text
create mode 100644 tarena
create mode 10064tarena.pub
create mode 100644 test/core
create mode 100644test/levi
create mode 100644 test/zzz
create mode 100644 z

6.查看commit 日志记录:**git log
													    git log --pretty=oneline**
7.比较工作区文件和仓库文件差异
       ****git diff [file]`****
8. 将暂存区或者某个commit点文件恢复到工作区
**      git add   file**			
9.移动或者删除文件
	git mv [file] [path]
	git rm [files]
注意: 这两个操作会修改工作区内容,同时将操作记录提交到暂存区。

###  6.版本控制
##### 1. 退回到上一个commit节点
**Sgit reset --hard HEAD^**
注意 : 一个^表示回退1个版本,依次类推。当版本回退之后工作区会自动和当前commit版本保
持一致
##### 2. 退回到指定的commit_id节点
**git reset --hard [commit_id]**
##### 3. 查看所有操作记录
**git reflog**
注意:最上面的为最新记录,可以利用commit_id去往任何操作位置
##### 4. 创建标签
标签: 在项目的重要commit位置添加快照,保存当时的工作状态,一般用于版本的迭代。
**git tag [tag_name] [commit_id] -m [message]**
说明: commit_id可以不写则默认标签表示最新的commit_id位置,message也可以不写,但是最
好添加。
e.g. 在最新的commit处添加标签v1.0
git tag v1.0 -m '版本1'
### 5. 查看标签
**git tag 查看标签列表**
**git show [tag_name] 查看标签详细信息**
##### 6. 去往某个标签节点
**git reset --hard [tag]**
**7. 删除标签**
git tag -d [tag]

### 保存工作区
1. 保存工作区内容
git stash save [message]
说明: 将工作区未提交的修改封存,让工作区回到修改前的状态
2. 查看工作区列表
git stash list
说明:最新保存的工作区在最上面
3. 应用某个工作区
git stash apply [stash@{n}]
4. 删除工作区
git stash drop [stash@{n}] 删除某一个工作区
git stash clear 删除所有保存的工作区

### 分支管理
定义: 分支即每个人在原有代码(分支)的基础上建立自己的工作环境,单独开发,互不干扰。完
成开发工作后再进行分支统一合并。
1. **查看分支情况**
git branch
说明: 前面带 * 的分支表示当前工作分支
2. **创建分支**
git branch [branch_name]
说明: 基于a分支创建b分支,此时b分支会拥有a分支全部内容。在创建b分支时最好保持a分支"干
净"状态。
3. **切换工作分支**
git checkout [branch]
说明: 2,3可以同时操作,即创建并切换分支
git checkout -b [branch_name]
4. **合并分支**
file:///C:/Users/lvze/Desktop/markdown/项目综合/project.html
6/142019/12/10
project
git merge [branch]
冲突问题是合并分支过程中最为棘手的问题
当分支合并时,原分支和以前发生了变化就会产生冲突
当合并分支时添加新的模块(文件),这种冲突可以自动解决,只需自己决定commit操作即
可。
当合并分支时两个分支修改了同一个文件,则需要手动解决冲突。
5. **删除分支**
git branch -d [branch] 删除分支
git branch -D [branch] 删除没有被合并的分支
!![在这里插入图片描述](https://img-blog.csdnimg.cn/20191218210306118.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2FtYml0aW9uX3N0YXI=,size_16,color_FFFFFF,t_70)
**远程仓库**
远程主机上的git仓库。实际上git是分布式结构,每台主机的git仓库结构类似,只是把别人主机上
的git仓库称为远程仓库。


**GitHub介绍**
github是一个开源的项目社区网站,拥有全球最多的开源项目。开发者可以注册网站在github建立
自己的项目仓库。
网址: github.com
代码管理工具:git
**获取项目**
在左上角搜索栏搜索想要的获取的项目
选择项目后复制项目git地址
在本地使用git clone方法即可获取
git clone https://github.com/xxxxxxxxx
注意: 获取到本地的项目会自动和github远程仓库建立连接。且获取的项目本身也是个git项目。
创建删除git仓库
点击右上角加号下拉菜单,选择新的仓库
填写相应的项目信息即可
github仓库相对本地主机就是一个远程仓库 通过remote连接,如果需要输入密码输入github密码
即可。连接后即可使用远程仓库操作命令操作。readme文件会被自动作为项目介绍
如果是在自己的仓库界面选择settings,在最后可以选择删除仓库。



远程仓库操作命令
所有操作在本地git仓库下进行
**1. 添加远程仓库**
git remote
add origin https://github.com/xxxxxxxxx
**2. 查看连接的主机**
git remote
注意: 一个git项目连接的远程主机名不会重复
**3. 删除远程主机**
git remote rm [origin]
**4. 将本地分支推送给远程仓库**
将master分支推送给origin主机远程仓库,第一次推送分支使用-u表示与远程对应分支建立自动关联
git push -u origin
master
**5. 推送代码到远程仓库**
git push
**6. 推送标签**
git push origin [tag] 推送本地标签到远程
git push origin --tags 推送本地所有标签到远程
**7. 推送旧的版本**
git push --force origin 用于本地版本比远程版本旧时强行推送本地版本
**8. 删除远程分支和标签**
git branch -a 查看所有分支
git push origin [:branch] 删除远程分支
git push origin --delete tag [tagname] 删除远程仓库标签
**9. 从远程获取代码**
获取远程分支代码
git pull
将远程分支master拉取到本地,作为tmp分支git fetch origin master:tmp区别pull将远程内容
直接拉取到本地,并和对应分支容进行合并fetch将远程分支内容拉取到本地,但是不会和本地
对应分支合并,可以己判断后再使用merge合并。
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116
  • 117
  • 118
  • 119
  • 120
  • 121
  • 122
  • 123
  • 124
  • 125
  • 126
  • 127
  • 128
  • 129
  • 130
  • 131
  • 132
  • 133
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/527566
推荐阅读
相关标签
  

闽ICP备14008679号