Git快速入门

简介: Git是分布式版本控制系统(distributed version control system,简称DVCS),分为本地仓库和远程仓库

Git

1. Git简介

Git是分布式版本控制系统(distributed version control system,简称DVCS),分为本地仓库和远程仓库


2. Git工作流程


clone与pull的区别

  1. clone操作是一个从无到有的克隆操作(只执行一次)。因此不需要本地进行git init初始化
  2. git pull是拉取远程分支更新到本地仓库的操作(要执行很多次)。事实上,git pull是相当于从远程仓库获取最新版本,然后再与本地分支merge(合并)。

git init把当前目录变成Git可以管理的仓库

git add把文件添加到仓库

git add .添加文件下所有文件及文件夹

git commit -m "comment"把文件提交到仓库

为什么Git添加文件需要addcommit一共两步呢?因为commit可以一次提交很多文件,所以你可以多次add不同的文件,比如:

$ git add file1.txt

$ git add file2.txt file3.txt

$ git commit -m "add 3 files."

git status查看仓库当前的状态

git diff查看修改之后的不同(difference)

版本回退

穿梭前,用git log --pretty=oneline可以查看提交历史,以便确定要回退到哪个版本。

HEAD指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令git reset --hard commit_id

要重返未来,用git reflog查看命令历史,以便确定要回到未来的哪个版本。

工作区和版本库

工作区git init把当前目录变成工作区

版本库:工作区的隐藏目录.git,是Git的版本库。

Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区,还有Git为我们自动创建的第一个分支master,以及指向master的一个指针叫HEAD


第一步是用git add把文件添加进去,实际上就是把文件修改添加到暂存区;

第二步是用git commit提交更改,实际上就是把暂存区的所有内容提交到当前分支。

撤销修改

场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git restore <file>

场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git restore --staged <file>,就回到了场景1,第二步按场景1操作。

场景3:已经提交了不合适的修改到版本库时,想要撤销本次提交,参考版本回退一节,不过前提是没有推送到远程库。

删除文件

rm file删除文件

现在你有两个选择,一是确实要从版本库中删除该文件,那就用命令git rm file删掉,并且git commit

另一种情况是删错了,因为版本库里还有呢,所以可以很轻松地把误删的文件恢复到最新版本:"git restore <file>

添加远程库

第1步:创建SSH Key。在用户主目录下(cd ~然后pwd,即可看到用户主目录路径),看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsaid_rsa.pub这两个文件,如果已经有了,可直接跳到下一步。如果没有,打开Shell(Windows下打开Git Bash),创建SSH Key:

ssh-keygen -t rsa -C "youremail@example.com"

你需要把邮件地址换成你自己的邮件地址,然后一路回车,使用默认值即可,由于这个Key也不是用于军事目的,所以也无需设置密码。

如果一切顺利的话,可以在用户主目录里找到.ssh目录,里面有id_rsaid_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人。

第2步:登陆GitHub,打开“Account settings”,“SSH Keys”页面:

然后,点“Add SSH Key”,填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容

关联&提交远程库

要关联一个远程库,使用命令git remote add fp git@github.com:ggbondd/fucking-physical.git

关联一个远程库时必须给远程库指定一个名字,origin是默认习惯命名;

关联后,使用命令git push -u origin master第一次推送master分支的所有内容;

此后,每次本地提交后,只要有必要,就可以使用命令git push origin master推送最新修改;

解绑远程库

查看本地已经关联的远程库:git remote -v

git remote remove origin

克隆远程库

要克隆一个仓库,首先必须知道仓库的地址,然后使用git clone命令克隆。

Git支持多种协议,包括https,但ssh协议速度最快。

分支管理

查看分支:git branch

查看项目的分支们(包括本地和远程):git branch -a

删除本地分支:git branch -d <name>

删除远程分支:git push origin --delete <Name>

创建分支:git branch <name>

切换分支:git switch <name>

创建+切换分支:git switch -c <name>

合并某分支到当前分支:git merge <name>

重命名分支git branch -M <name>

目录
相关文章
|
9月前
|
Linux 开发工具 git
【Git】Git 完全指南:从入门到精通
Git 是一种强大的版本控制工具,掌握了其基本命令和高级特性后,可以大大提高开发效率并方便团队协作。通过本篇文章,你已经学会了 Git 的核心命令及其使用方法,希望你能够灵活运用 Git 在实际项目中进行版本管理。
2680 4
|
10月前
|
Linux Shell 开发工具
Git 快速入门:全面了解与安装步骤
Git 是一个开源的分布式版本控制系统,由 Linus Torvalds 于 2005 年创建,最初是为了更好地管理 Linux 内核开发而设计。
515 1
Git 快速入门:全面了解与安装步骤
|
存储 Linux 开发工具
Git基础命令,分支,标签的使用【快速入门Git】
本文详细介绍了Git版本控制系统的基础概念和常用命令,包括工作区、暂存区和版本库的区别,文件状态的变化,以及如何进行文件的添加、提交、查看状态、重命名、删除、查看提交历史、远程仓库操作和分支管理,还涉及了Git标签的创建和删除,旨在帮助读者快速入门Git。
Git基础命令,分支,标签的使用【快速入门Git】
|
11月前
|
开发工具 git
【Git快速入门】Git代码管理手册与协同开发之分支管理与协作(五)
【Git快速入门】Git代码管理手册与协同开发之分支管理与协作(五)
113 0
|
11月前
|
网络协议 网络安全 开发工具
【Git快速入门】Git代码管理手册与协同开发之远程仓库(四)
【Git快速入门】Git代码管理手册与协同开发之远程仓库(四)
162 0
|
11月前
|
开发工具 git
【Git快速入门】Git代码管理手册与协同开发之基本操作(三)
【Git快速入门】Git代码管理手册与协同开发之基本操作(三)
158 0
|
11月前
|
Shell 开发工具 git
【Git快速入门】Git代码管理手册与协同开发之基本操作(二)
【Git快速入门】Git代码管理手册与协同开发之基本操作(二)
120 0
|
11月前
|
开发工具 git 索引
【Git快速入门】Git代码管理手册与协同开发之环境搭建(一)
【Git快速入门】Git代码管理手册与协同开发之环境搭建(一)
174 0
|
存储 Shell 开发工具
Git 入门:从零开始掌握版本控制的艺术
【8月更文第16天】 在软件开发中,版本控制是一项至关重要的技能。它帮助开发者追踪文件的变化历史,并且可以在多个开发者之间协同工作。Git 是目前最流行的分布式版本控制系统之一。本文将带你从零开始学习 Git 的基本使用方法。
154 0
|
Ubuntu 开发工具 git
在Ubuntu 18.04上安装Git【快速入门】
在Ubuntu 18.04上安装Git【快速入门】
212 0