Git简介
本文最后更新于90 天前,其中的信息可能已经过时,如有错误请发送邮件到1729915388@qq.com

Git指南

Git简介

  • Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。
  • Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
  • Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持。

Git 基本概念

 

 

Git安装配置

Windows安装

在 Windows 平台上安装 Git 同样轻松,有个叫做 msysGit 的项目提供了安装包,可以到 GitHub 的页面上下载 exe 安装文件并运行:

官网安装包下载地址:https://gitforwindows.org/

国内的镜像:https://npm.taobao.org/mirrors/git-for-windows/

完成安装之后,就可以使用命令行的 git 工具(已经自带了 ssh 客户端)了,另外还有一个图形界面的 Git 项目管理工具。

在开始菜单里找到”Git”->”Git Bash”,会弹出 Git 命令窗口,你可以在该窗口进行 Git 操作。

Git配置

Git 提供了一个叫做 git config 的工具,专门用来配置或读取相应的工作环境变量。

用户信息

git config --global user.name "runoob"
git config --global user.email test@runoob.com

注:其中user.name可不必与github的usename相同。

查看配置信息

git config --list

 

Git 基本操作

Git 常用的是以下 6 个命令:git clonegit pushgit addgit commitgit checkoutgit pull

img

说明:

  • workspace:工作区
  • staging area:暂存区/缓存区
  • local repository:版本库或本地仓库
  • remote repository:远程仓库

创建仓库命令

下表列出了 git 创建仓库的命令:

命令 说明
git init 初始化仓库
git clone [复制的项目地址] 拷贝一份远程仓库,也就是下载一个项目。

提交与修改

Git 的工作就是创建和保存你的项目的快照及与之后的快照进行对比。

下表列出了有关创建与提交你的项目的快照的命令:

命令 说明
git add [file/dir] 添加文件到暂存区
git status 查看仓库当前的状态,显示有变更的文件。
git diff 比较文件的不同,即暂存区和工作区的差异。
git commit -m [message] 提交暂存区到本地仓库。
git reset 回退版本。
git rm 将文件从暂存区和工作区中删除。
git mv 移动或重命名工作区文件。

提交日志

命令 说明
git log 查看历史提交记录
git blame <file> 以列表形式查看指定文件的历史修改记录

远程操作

命令 说明
git remote 远程仓库操作[-v 查看远程仓库] [rm [别名] 删除远程仓库]
git fetch 从远程获取代码库 [[alias] [branch]]
git pull 下载远程代码并合并[<远程主机名> <远程分支名>:<本地分支名>]
git push 上传远程代码并合并[[alias] [branch]]

Git Github

连接github配置

  1. 使用以下命令生成 SSH Key:

    ssh-keygen -t rsa -C "youremail@example.com"
    
    • 后面的 your_email@youremail.com 改为你在 Github 上注册的邮箱,一路enter、得到key。
    • 到路径C:\Users\xyq\.ssh下打开id_rsa.pub,复制里面的 key
  2. 进入github

    • 进入 Account => Settings(账户配置)
    • 左边选择 SSH and GPG keys,然后点击 New SSH key 按钮,title 设置标题,可以随便填,粘贴在你电脑上生成的 key。
  3. 为了验证是否成功,输入以下命令:

    $ ssh -T git@github.com
    #显示以下结果说明连接成功。
    The authenticity of host 'github.com (52.74.223.119)' can't be established.
    RSA key fingerprint is SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8.
    Are you sure you want to continue connecting (yes/no/[fingerprint])? yes                   # 输入 yes
    Warning: Permanently added 'github.com,52.74.223.119' (RSA) to the list of known hosts.
    Hi tianqixin! You've successfully authenticated, but GitHub does not provide shell access. # 成功信息
    

测试-创建仓库并push

  1. 在github上点击” New repository ” 新建一个repository。

  2. 在Repository name 填入 runoob-git-test(远程仓库名) ,其他保持默认设置,点击”Create repository”按钮,就成功地创建了一个新的Git仓库。

  3. 在本地的仓库下运行以下命令:

    $ cd D:\\Soft_file\\Git_workspace  			#进入自己的目录
    $ mkdir runoob-git-test                     # 创建测试目录
    $ cd runoob-git-test/                       # 进入测试目录
    $ echo "# 菜鸟教程 Git 测试" >> README.md     # 创建 README.md 文件并写入内容
    $ ls                                        # 查看目录下的文件
    README
    $ git init                                  # 初始化
    $ git add README.md                         # 添加文件
    $ git commit -m "添加 README.md 文件"        # 提交并备注信息
    [master (root-commit) 0205aab] 添加 README.md 文件
     1 file changed, 1 insertion(+)
     create mode 100644 README.md
    
    # 提交到 Github,后面git@github.com:tianqixin/runoob-git-test.git需改成自己在gihub上ssh的链接
    $ git remote add origin git@github.com:tianqixin/runoob-git-test.git
    $ git push -u origin master
    

其他

  • 出现错误信息:error: remote origin already exists.即远程源(远程仓库)已存在使用以下命令

    $ git remote -v				#查看远程仓库,加上 -v 参数,你还可以看到每个别名的实际链接地址。
    origin    git@github.com:tianqixin/runoob-git-test.git (fetch)
    origin    git@github.com:tianqixin/runoob-git-test.git (push)
    
    git remote rm origin       #(删除已关联仓库)
    

添加远程仓库

要添加一个新的远程仓库,可以指定一个简单的名字,以便将来引用,命令格式如下:

git remote add [shortname] [url]

提取远程仓库

Git 有两个命令用来提取远程仓库的更新。

  1. 从远程仓库下载新分支与数据:

    $ git fetch [alias] #这个命令将某个远程主机的更新全部取回本地
    #如果只想取回特定分支的更新,可以指定分支名
    $ git fetch [alias] [branch] #注意之间有空格
    

    该命令执行完后需要执行 git merge 远程分支到你所在的分支。

  2. 从远端仓库提取数据并尝试合并到当前分支:

    $ git merge [alias]/[branch]
    

    该命令就是在执行 git fetch 之后紧接着执行 git merge 远程分支到你所在的任意分支。

  3. git pull = git fetch + git merge

    将远程主机的某个分支的更新取回,并与本地指定的分支合并,完整格式可表示为

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

    如果远程分支是与当前分支合并,则冒号后面的部分可以省略

eg:将远程仓库origin下载到本地仓库origin的master的分支里。

$ git fetch origin
$ git merge origin/master

推送到远程仓库

推送你的新分支与数据到某个远端仓库命令:

git push [alias] [branch]

以上命令将你的 [branch] 分支推送成为 [alias] 远程仓库上的 [branch] 分支,实例如下。

$ touch runoob-test.txt      # 添加文件
$ git add runoob-test.txt 
$ git commit -m "添加到远程"
master 69e702d] 添加到远程
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 runoob-test.txt

$ git push origin master    # 推送到 Github

重新回到我们的 Github 仓库,可以看到文件已经提交上来了。

删除远程仓库

删除远程仓库你可以使用命令:

git remote rm [别名]

实例:

$ git remote -v
origin    git@github.com:tianqixin/runoob-git-test.git (fetch)
origin    git@github.com:tianqixin/runoob-git-test.git (push)

# 添加仓库 origin2
$ git remote add origin2 git@github.com:tianqixin/runoob-git-test.git

$ git remote -v
origin    git@github.com:tianqixin/runoob-git-test.git (fetch)
origin    git@github.com:tianqixin/runoob-git-test.git (push)
origin2    git@github.com:tianqixin/runoob-git-test.git (fetch)
origin2    git@github.com:tianqixin/runoob-git-test.git (push)

# 删除仓库 origin2
$ git remote rm origin2
$ git remote -v
origin    git@github.com:tianqixin/runoob-git-test.git (fetch)
origin    git@github.com:tianqixin/runoob-git-test.git (push)

文末附加内容
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇