Ubuntu Linux/Windows如何使用Git

打印 上一主题 下一主题

主题 1886|帖子 1886|积分 5658

首先安装Git

        首先在Ubuntu上安装使用
  1. sudo apt-get install git # Ubuntu执行这个
  2. sudo yum install git # CentOS执行这个
复制代码
        在windows上安装直接从Git官网下载Git
https://git-scm.com/安装好后
在命令行使用
  1. git version
  2. git --version # linux执行这个
复制代码
假如有版本号即安装成功

如何使用Git

先要理解git的三个区域,版本库就是我们git log --graph --all显示的每个节点

图片来自【Git】Git的三个区域_git三个区-CSDN博客

   git会帮我们存储git提交过的版本,也可以临时生存我们已修改过的文件,我们能够直接看到的文件除./git下的文件外都是工作区,通过git add添加但没有提交commit的都在暂存区,已提交的都在版本库中,看不懂可以继续看,后面转头再来看。
  使用git创建本地库

在需要添加到git项目的位置进入命令行
  1. git init
  2. # 已有云项目可以使用git clone [url]
复制代码
此时会为当前目录创建一个./git文件管理项目,此文件是隐藏显示的
可以为当前目录及全部下级目录的全部文件举行管理
不需要管理的文件 可以写一个.gitignore文件,将全部不需要git管理的文件(一样平常是开发测试需要,与项目运行无关)或路径 写入 如下图 .gitignore



添加整个项目(当前目录文件及全部下级目录文件)到暂存区
  1. git add .
复制代码
假如想添加具体文件可以指定
  1. git add [文件名] [文件名] ...
复制代码
然后举行提交
  1. git commit -m "可以在这里填写版本注释"
复制代码
这样,我们就创建好了本地的git库,可以运行git branch --all 会瞥见 * master
使用git多人协作,上传到github或gitee仓库

上传到仓库首先需要验证用户,有两种方式

  • 用户登录
  • 使用令牌
用户登录

命令行设置git身份
  1. git config --global user.name "用户名"
  2. git config --global user.email "邮箱地址"
复制代码
设置好后可使用git config --global --list验证是否有误
用户登录后续上传代码到仓库时,还会要输入平台账号密码才能上传到仓库
使用令牌

生成令牌
  1. ssh-keygen -t rsa
  2. # 连按三次回车同意
复制代码
 实行后,会显示生成地点,检察其中id_rsa.pub文件,这个是公钥(不带.pub的是私钥)
复制id_rsa.pub文件内容,在github或gitee平台中的个人设置中添加个人公钥,直接将文
件内容全部粘贴到公钥内容中即可。
将本地仓库上传到平台仓库

获取云仓库

首先要链接云仓库(平台仓库),在本地仓库创建云仓库
  1. git remote add origin 仓库ssh链接
复制代码
这时候使用git branch --all会瞥见红色的 remote/origin/master 这是你云仓库的本地副本
假如云仓库有文件 可以实行(本地没有文件的话可以直接git  pull  origin相称于后面两行命令)
  1. git fetch origin
复制代码
  这样你的origin/master就是最新的了(推荐使用fetch,这样可以在实行下条命令前,通过切换分支本钱地云仓库分支,修改本地的云仓库,再切回本地分支再完成合并。这样就可以同时举行本地修改和云仓库修改解决冲突部门,然后合并就没有冲突了;若使用git pull origin就只能修改本地来顺应云仓库修改的冲突地方)
  假如你想把最新的版本合并到工作区(本地同步云仓库的修改)可以再实行
  1. git merge origin/master
复制代码
将本地仓库上传到云仓库

  1. git push -u origin master
  2. # -u 作用是设置默认推送目标,以后只需使用git push即可
复制代码
这样就可以将当前分支工作文件上传到云仓库
这个操纵同时也会更新remotes/origin/master本地的云仓库副本

常用操纵


提交

在 Git中,提交(commit)是将暂存区的更改生存到本地仓库(版本库)的操纵。
   git commit -m "提交信息"   # 将暂存区的更改生存为一个新的提交,并附上提交信息
    git commit -a -m "更新了设置文件"  # 相称于实行了git add . 然后再实行提交commit -m ""
    git commit --amend -m "修正了拼写错误" 
  # 修改上一次提交的内容或提交信息。
# 假如暂存区有新的更改,则会将它们合并到上一次提交中。
  创建删除分支



  • git branch [分支名]  # 创建
  • git branch -d [分支名] # 删除
切换分支



  • git checkout [分支名] # 要留意切换分支时工作区假如修改了,但没有git add的话,切换分支会丢失
   每个分支都共享同一个暂存区,暂存区有内容最好提交后再切换分支,否则会出现切换后分支的暂存区拿到了自己不应有的文件,且原分支的没有add的修改丢失了且假如不切回commit的话,暂存区的内容会带到切换分支造成影响
  

  • git checkout <commit-hash>  #  临时检察版本内容,此时HEAD指针并不改变,任何修改都不生效,再次使用checkout切换分支完成退出

检察全部分支



  • git branch --all  # 检察全部分支
分支合并



  • git merge [分支名]  # 将当前分支和[分支名]分支合并
检察版本差别



  • git diff [分支名/版本名]  # 将当前分支和[分支名/版本名]对比检察那里不同
  • git diff [分支名/版本名] [分支名/版本名] # 对比两个分支或版本的差别
   

  • 尚未缓存的改动:git diff
  • 检察已缓存的改动: git diff --cached
  • 检察已缓存的与未缓存的全部改动:git diff HEAD
  检察历史版本



  • git log  #   检察当前分支的版本历史
  • git log --all # 检察全部分支的版本历史
  • git log --graph --all  # 用图形的方式检察全部分支版本的厘革
检察云仓库分支



  • git remote  # 检察远程仓库
  • git remote update  # 更新远程仓库分支信息
  • git branch -r # 检察远程仓库全部分支
获取仓库更新



  • git fetch <remote>  # 从指定的远程仓库获取全部分支的最新提交和文件
  • git fetch <remote> <branch>  #  获取特定分支的更新
将fetch换成pull的话会直接将远程仓库获取最新并合并到当前工作分支。
版本回退

   

  • git reset --soft <commit-hash> # 软重置(生存工作区和暂存区)
  • git reset --mixed <commit-hash> # 将 HEAD 指向指定的提交,并重置暂存区,但生存工作区的更改(默认运动)
  • git reset --hard <commit-hash>  # 硬重置(扬弃全部更改)
  不删除历史提交记录回退


  • git revert <commit-hash> # 将当前内容减去指定版本提交的内容
清除暂存内容




  • git reset HEAD  # 清空缓存区(暂存区)
  • git reser HEAD [文件名] # 清除指定文件的缓存


补充在windows上使用git add或提交时可能会报错

  1.  warning: LF will be replaced by CRLF 
  2.  fatal: CRLF would be replaced by LF
复制代码
不用在意,这是由于Liunx和Windows换行方式不一样,git为了跨平台主动举行了修改,windows默认时/r/n,而Linux是/n,这个不影响使用以及提交,最好不要修改
   最后说说我对git的版本控制的理解吧!
  
  git的版本分支控制是一个单链表的状态,新版本会有一个指针指向老版本,只能从新版本找到老版本,但不能退回到老版本再找新版本,而分支相称于开启一个空间,指向指定版本方便HEAD跳转。HEAD为我们工作的指针,可以在不同分支间跳转。
  
  本地的远程仓库也只是一个分支。
  
  希望能够对你有所帮助,看到这里了点个赞加收藏呗!!!

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

杀鸡焉用牛刀

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表