栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

GIT 指南

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

GIT 指南

Git SSH 配置
  1. 配置用户名和邮箱
git config --global user.name '用户名'
git config --global user.email '邮箱'

查看当前用户配置 git config --global --list

  1. 生成 SSH KEY
    cmd 执行
ssh-keygen -t rsa -C '邮箱'

一直回车确定直到结束;根据日志信息里面的 SSH KEY 存储路径找到 .ssh/id_rsa.pub 文件(复制文件中的密钥)

  1. Gitlab 上配置 SSH KEY
本地项目上传到 GitLab
  1. 在gitlab上创建一个空白项目2. 初始化本地仓库

git init

  1. 与远程仓库建立连接

git remote add origin 远程仓库链接

  1. 从工作区添加到暂存区

git add 文件列表

  1. 从暂存区提交到本地仓库

git commit -m “描述”

  1. 本地仓库推送到远程库

git push -u origin 分支

Git 命令

全局配置

git config --global user.name "kuangshen"  #名称
git config --global user.email 24736743@qq.com   #邮箱
git config --global  --list  #查看当前用户配置 

创建仓库

git init # 在当前目录新建一个Git代码库
git clone [url] # 克隆远程仓库

文件状态

git status [filename]  #查看指定文件状态
git status  #查看所有文件状态
  1. Untracked: 未跟踪, 此文件在文件夹中, 但并没有加入到git库, 不参与版本控制. 通过git add 状态变为Staged.
  2. Unmodify: 文件已经入库, 未修改, 即版本库中的文件快照内容与文件夹中完全一致. 这种类型的文件有两种去处, 如果它被修改, 而变为Modified. 如果使用git rm移出版本库, 则成为Untracked文件
  3. Modified: 文件已修改, 仅仅是修改, 并没有进行其他的操作. 这个文件也有两个去处, 通过git add可进入暂存staged状态, 使用git checkout 则丢弃修改过, 返回到unmodify状态, 这个git checkout即从库中取出文件, 覆盖当前修改
  4. Staged: 暂存状态. 执行git commit则将修改同步到库中, 这时库中的文件和本地文件又变为一致, 文件为Unmodify状态. 执行git reset HEAD filename取消暂存, 文件状态为Modified

日志展示
查看提交的日志,从近至远,当历史记录过多,查看日志有分页效果,一页展示不下。
下一页:空格 上一页:b 到尾页了显示END 退出:q

方式1:git log
方式2:git log --pretty=oneline
方式3: git log --oneline
方式4: git reflog

HEAD@(数字) 这个数字含义:指针回到当前历史版本需要走多少步

提交与修改

git add 工作区内容添加到暂存区

git add [file1] [file2] ...   #添加一个或多个文件到暂存区
git add [dir]  #添加指定目录到暂存区,包括子目录
git add .  #添加当前目录下的所有文件到暂存区

git commit 暂存区内容添加到本地仓库

git commit -m [message]  # 提交所有文件
git commit [file1] [file2] ... -m [message] # 提交指定文件

git diff 比较文件差异

git diff [file] # 显示暂存区和工作区的差异
git diff --cached [file]  或者  git diff --staged [file]  # 显示暂存区和上一次提交(commit)的差异
git diff 版本号  # 和指定版本进行比较
git diff 版本号 文件 # 如:git diff 3aecd8e README.md 

git rm 将文件从暂存区和工作区中删除

git rm  # 将文件从暂存区和工作区中删除
git rm –r   # 递归删除整个目录中的所有子目录和文件
git rm -f  # 如果删除之前修改过并且已经放到暂存区域的话,则必须要用强制删除选项 -f
git rm --cached  # 只从暂存区域移除,仍然保留在当前工作目录中

版本回退

命令语法格式:git reset [–soft | --mixed | --hard] [HEAD]
soft参数:本地库的指针移动的同时,暂存区和工作区不动
mixed参数:本地库的指针移动的同时,重置暂存区,工作区不动
hard参数:本地库的指针移动的同时,重置暂存区,重置工作区

git reset --hard 8303e6d # 回退到指定版本,或者HEAD~数字,比如HEAD~3回退到上上上个版本号
git reset --mixed 8303e6d
git reset --soft 8303e6d

分支管理

# 列出所有本地分支 git branch
# 列出所有远程分支 git branch -r
# 新建一个分支,但依然停留在当前分支 git branch [branch-name]
# 新建一个分支,并切换到该分支 git checkout -b [branch]
# 切换分支 git checkout [branch]
# 删除分支 git branch -d [branch-name]
# 删除远程分支 git push origin --delete [branch-name]
# 本地分支推送到远程分支 git push origin [branch-name]
# 合并指定分支到当前分支 git merge [branch]

合并分支可能出现冲突,原因:在同一个文件的同一个位置修改
解决:手动修改冲突文件,再通过 git add . 、git commit -m “修复代码冲突”

远程操作

git remote 远程仓库操作(管理本地仓库和远程仓库的连接)

git remote  # 显示所有远程仓库
git remote show [remote] # 显示某个远程仓库的信息
git remote add [shortname] [url] # 添加远程版本库
git remote rm name  # 删除远程仓库
git remote rename old_name new_name  # 修改仓库名

git fetch 从远程获取代码库
从远程获取最新的分支到本地,不会自动merge

git pull 下载远程代码并合并,相当于fetch+merge

<远程主机> <远程分支名>:<本地分支名>

 例:git pull origin master:brantest
 # 将远程主机 origin 的 master 分支拉取过来,与本地的 brantest 分支合并。如果远程分支是与当前分支合并,则冒号后面的部分可以省略。

git push 上传远程代码并合并

git push <远程主机> <本地分支名>:<远程分支名>

git push origin master  #将本地的 master 分支推送到 origin 主机的 master 分支,如果本地分支名与远程分支名相同,则可以省略冒号:<远程分支名>
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/973125.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号