git的使用---学习笔记,避免踩坑

本文全面解析Git的安装配置、本地及远程仓库操作、分支管理、代码版本控制与回退、文件修改撤销、删除恢复等核心技能,助您掌握版本控制系统精髓。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


参考:
廖雪峰git.
網上教程.

git安装----windows

寫在前面:最好每操作一步命令都git status查看一下狀態。

1,git官网安装,一路默认安装 git bash能打开窗口说明安装成功

创建版本库并提交代码到本地版本库

1,mkdir 目录名 (创建目录/也可以不创建,注意所在路径不能包含中文)
2,cd 目录名 (切换到目录下,将需要管理的文件都放到目录下)
3,pwd (查看当前路径)
4,git int (将该目录变成git可以管理的代码库)
5,添加文件到本地仓库:
1,git add 文件名 / . (添加目录下的特定文件或者添加目录下的所有文件)
2,git commit -m ‘添加文件的说明’ ----commit命令后文件就被保存下来且不会丢失
【两步必须都写,因为add命令可以多次重复,一次可以添加多个文件夹】
6,git status (查看状态,会告知某个文件是否被修改)
7,git diff 文件名 /git diff HEAD 文件名(查看某个文件的具体代码,查看具体哪里修改过)
8,使用touch 文件.txt,新建txt文件,再git status 查看状态,会提示有未管理的新文件:(vim在终端修改文件,:wq文件名表示保存并退出)
Untracked files:
(use “git add …” to include in what will be committed)
hello.txt
9,使用add命令添加到仓库:
Changes to be committed:
(use “git rm --cached …” to unstage)
new file: hello.txt
10,如果仓库中管理的文件被修改了,使用git status查看状态:
Changes to be committed: -----提示文件hello.txt已经被修改 准备保存状态
(use “git rm --cached …” to unstage) —rm命令表示从仓库中清除该文件
Changes not staged for commit: —表示未保存状态
1,(use “git add …” to update what will be committed) ----提示使用git add可以添加修改内容进来
2,(use “git restore …” to discard changes in working directory) -----提示使用 git restore表示撤銷文件在工作區的全部修改
或者git checkout – 文件名 讓文件回到最近一次add或commit時的狀態

提交的最后一步:git push

git创建新分支并提交代码到远程仓库

在已经创建仓库和私钥并与本地仓库关联的前提下:
git checkout -b 分支名 ======创建分支并切换到该分支
git branch -a ======查看所有分支
git add .
git commit -m ‘提交说明’
git push --set-upstream origin 分支名 =======如果不确定,直接git push 终端会给出完整的命令提示

代码版本回退

1,git log (显示提交日志,能看到三次,最近的一次,上一次和最早的一次,输出信息会比较完整)

2,git log --pretty=oneline (输出信息比较简略)

3,回退版本需要先知道当前版本,head表示当前版本
==git reset --hard head~ (表示网上回退一个版本)
==git reset --hard head~100 (表示网上回退100个版本)
==回到过去后很难再回来,除非当前窗口未关闭,就可以往上
划拉窗口找到版本号的commit id(只需要前几位就好)
git reset --hard commit-id
==git reflog (该命令用来记录用户的每一次命令。如果用户关闭窗口后还想恢复到最新版本,可以通过该命令,找到想恢复的版本的commit-id就可以恢复了。

工作区和暂存区

*工作區就是在電腦裏能看到的目錄

*版本庫.git 包含stage/index 暫存區,master(git自動創建的唯一分支),以及指向master的指針HEAD。

  1. git add 就是將文件添加到暫存區;
  2. git commit就是將暫存區所有内容提交到當前分支master。
  3. Git跟踪并管理的是修改,而非文件。所以修改后的文件都需要先git add放入暫存區,再提交。

撤銷修改

假如文件修改了,需要撤銷修改

1,文件修改後還沒有add到暫存區:【將工作區的修改全部撤銷,回退到版本庫最近的狀態】
git checkout - - filename

2,文件已經add到暫存區后,又修改了:【撤銷將回退到暫存區最近的狀態】
git checkout - - filename

3,假如文件修改后,add到了暫存區,我希望把暫存區的修改撤銷,並回退到工作區----即add之前的狀態:
git reset HEAD filename - - -把暂存区的修改回退到工作区

4,假如修改add並提交commit了,可以通過版本回退,回退到上一個版本來撤銷修改。----前提是沒有把本地版本庫推送到遠程。

【git checkout filename 表示切換到另一個分支】

【儅使用add命令表示最新的版本】

刪除文件

刪除工作區的文件:

  • 直接在文件管理器刪除 / rm filename

使用git status,git就會提示工作區和版本庫不一致。

假如版本庫中的文件也要刪除:

  • git rm filename 刪除
  • git commit -m ‘提交’ 【這兩步都必須做才能成功刪除】

假如刪錯了,工作區的文件需要恢復:

  • git checkout – filename

【git checkout其实是用版本库里的版本替换工作区的版本。】

【命令git rm用于删除一个文件。如果一个文件已经commit,那么永远不用担心误删,可以版本回退到最新的版本。但是会丢失最近一次提交后你修改的内容。】

使用GITHUB創建遠程倉庫並關連本地

1,創建SSH KEY。在用户主目录下,看看有没有.ssh目录,再看該目录下有没有id_rsa和id_rsa.pub,如果有,跳下一步。
如果没有,创建SSH Key:ssh-keygen -t rsa -C "1592713356@qq.com"
一路回車
2,如果一切顺利的话,可以在用户主目录里找到.ssh目录,里面有id_rsa私鑰和id_rsa.pub公鑰
在GitHub,打开“Account settings”,“SSH Keys”頁面,点“Add SSH Key”,填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容。
3,先在github創建一個倉庫, create a new repository,自定義倉庫名,其他默認設置,確認創建。
4,創建成功后git會提示:

 create a new repository on the command line  
 从这个仓库克隆出新的仓库;
 push an existing repository from the command line
 把一个已有的本地仓库与之关联,然后把本地仓库的内容推送
 到GitHub仓库。

5,在本地的倉庫目錄下git bash,將本地倉庫與遠程倉庫關連。關連后,遠程倉庫的名字默認就叫origin。
git remote add origin git@github.com:github賬戶名/github倉庫名.git

6,將本地倉庫的内容第一次推送到遠程倉庫
git push -u origin master

 git push===>把本地倉庫的分支master推送到远程;
 
 -u===>第一次推送時,加上-u,git會把本地master和遠程master关联起来,
以后的推送或者拉取时可以简化命令。

之後本地的提交,只需要git push origin master,直接提交最新修改

7,SSH警告!!当你第一次使用Git的clone或者push命令连接GitHub时,会得到一个警告:

The authenticity of host 'github.com (xx.xx.xx.xx)' can't be established.

这是因为Git使用SSH连接,SSH连接在第一次验证GitHub服务器的Key时,需要你确认GitHub的Key的指纹信息是否真的来自GitHub的服务器,输入yes回车即可。

【雖然SVN也可以提交代碼,可以版本回退,可以撤銷修改,但是在沒網的時候無法工作。】

使用github從遠程倉庫克隆

  1. 在github創建倉庫名為test。
 勾选Initialize this repository with a README,会自动创建README.md文件
  1. 使用命令克隆遠程倉庫到本地:(注意找一個沒有中文的路徑git bash here)
git clone git@github.com:github賬戶名/test(遠程倉庫名).git

git clone https://github.com/github賬戶名/test(遠程倉庫名).git

  1. cd test 切换到目录下
  2. ls 详细查看目录下文件,可以看到readme.md

注:

~~【你也许还注意到,GitHub给出的地址不止一个,还可以用https://github.com/michaelliao/gitskills.git这样的地址。
实际上,Git支持多种协议,默认的git://使用ssh,但也可以使用https等其他协议。
使用https除了速度慢以外,还有个最大的麻烦是每次推送都必须输入口令,但是在某些只开放http端口的公司内部就无法使用ssh协议而只能用https。

通过ssh支持的原生git协议速度最快。#~~ 

克隆码云项目到本地

1.在本地新建一个文件夹,git bash

2.切换到文件夹对应路径

  1. git config --global user.name ‘’
  2. git config --global user.email ‘’
  3. git init
  4. git clone 复制的项目地址
  5. 完成

创建一个自定义列表

FLowchart流程图

我们依旧会支持flowchart的流程图:

Created with Raphaël 2.2.0 开始 我的操作 确认? 结束 yes no
  • 关于 Flowchart流程图 语法,参考 这儿.
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值