专栏名称: wsgdiv
目录
相关文章推荐
戴康的策略世界  ·  戴康:港股“天亮了”系列合集 ·  昨天  
一张图研报  ·  20250314债市简评 ·  昨天  
51好读  ›  专栏  ›  wsgdiv

git使用方法之我有一个文件要上传

wsgdiv  · 简书  ·  · 2021-05-07 03:20

正文

上手阶段

我有一个文件要上传。不仅如此,后期还要不断的修改、添加等等,于是我觉得应该用git。于是,我用了,打开“开始”按钮,找到git目录夹,里面有三个不知道是什么鬼的东西,于是有了下面三段文字。

Git Bash:
Bash,Unix shell的一种,Linux与Mac OS X v10.4都将它作为默认shell。
Git Bash就是一个shell,是Windows下的命令行工具,可以执行Linux命令。
Git Bash是基于CMD的,在CMD的基础上增添一些新的命令与功能。所以建议在使用的时候,用Bash更加方便。

Git CMD:
(命令行提示符)是Windows操作系统上的命令行解释程序。当你在Windows上安装git并且习惯使用命令行时,可以使用cmd来运行git命令。

Git GUI:
基本上针对那些不喜欢黑屏(即命令行)编码的人。它提供了一个图形用户界面来运行您喜欢的git命令。

于是,我打开了Git GUI,准备践行人类前进的不竭动力——懒,没想到,对方让我建立一个“工程”,于是,我发现了一个真理:懒,是优秀的另一种表现形式。
我要让自己变优秀。
于是,我打开了Git Bash。

开始

git装上,就没用过,于是我执行下面两行代码来证明我是我,因为我有我的账号和密码,当然,是需要修改的。config的意思是“配置”,--global表全局。即,你这台机器上所有的Git仓库都会使用这个配置,当然也可以对某个仓库指定不同的用户名和Email地址。

$ git config --global user.name "Your Name"
$ git config --global user.email "[email protected]"

我用的是windows,先建个文件夹,命名为git-upload.并在Git Bash里cd到这个文件夹(每个文件夹都要进行一次cd,不能一步到位)。为了确保是否转到这个文件夹,输入pwd(“骗我的?”好记,哈哈),防止计算机骗我,哈哈。计算机立马显示当前仓库的位置。

初始化

仓库的厂房已经搭建好了,现在该初始化了,搭建一些基础配置。
于是,git init,我发现多了一个.git文件,这个属于基础设施类文件,意味着不要乱动,否则“牵一发而动全身”,后果很严重。如果还没看到,那是隐藏了,输入ls -ah,就OK了。

往仓库添加货品

厂房搭建好了,基础配置也好了,那就上货吧。可是,我只有一个文件:文本.txt。于是,我用git add 文本.txt,把货品放到了暂存区,也就是放到了小推车上,我也可以再往小推车上放几个,最后来一个git commit -m "备注信息,很重要,尽量备注吧,你会感谢自己的",然后,就把小推车(暂存区)上的货品,全放上去了。
后来,要把一整个文件夹放小推车上,那我就用了 git add 文件夹/ 来添加整个文件夹及内容或者用 git add *.文件类型 来添加目录中所有此文件类型的文件。
然后,我有了一个大胆的想法,我想一下子把所有文件全部上传,git真不错,早就想到了,用 git add . ,全给放小推车(暂存区)上了。

关联远程仓库

虽然把货品都用commit进行提交了,但也只是提交到了本地仓库,还没有上传到远程仓库,让别人都看到我的工作。于是,我打开了我的Gitee(本文以Gitee为例,其与GitHub操作基本是一样的),点开SSH公钥,将公钥标题设置为ssh-key-02,然后,要粘贴公钥内容,才想起来没有公钥,于是乎,在git bash里输入 ssh-keygen -t rsa -C " [email protected] " (不要直接复制粘贴,是你的email),然后其实是可以一路回车的,我就这么干的。然后,根据bash的提示,打开文件目录,打开.ssh文件夹,发现一个密钥对 (两个文件),id_rsa是私钥,不能泄露出去,id_ rsa.pub 是公钥,可以放心地告诉任何人。然后,我就打开公钥,一波复制粘贴,公钥搞定。
另外,涉及git的文本文件,不要使用Windows自带的记事本,建议Notepad++,不然,容易出错。
现在只是让我的gitee信任了我的计算机,即,让Git信任了本地仓库,还没有关联远程仓库,可现在远程仓库并不存在,所以,先创建远程仓库,在我的gitee上,仓库名称同样是git-upload,点击创建,成功后,就可以关联了。
git remote add origin [email protected] :wsgdiv/git-upload.git(修改成你的地址,这是我的。)
关联成功了。
我发现关联的名称是origin,我又有了一个大胆的想法,我想让我的本地仓库同时关联gitee和github,当然,GitHub的密钥对也是要建立好的。
然后, 我先git remote -v查看了一下,当前本地仓库已经关联的远程仓库,只有gitee,我先把gitee远程库删掉,git remote rm origin,OK,然后,关联两个远程库,为了有所区别,名字不能一样。
git remote add gitee [email protected] :wsgdiv/git-upload.git
git remote add github [email protected] :wsgdiv/git-upload.git
现在,我的本地仓库关联两个远程库了。
然后,我用git push -u origin master把本地库的内容推送到远程,实际上是把当前分支master推送到远程。因为是第一次推送,所以加了 -u ,还把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。
当然,现在是两个远程库,所以,不能用origin了,要用各自的远程库名字。

文件修改与回退

突然想起来,有个文件需要更改,于是乎,在 文本.txt 中又加了一行。这时文件进行了更改,我想看一下本地git状态,用git status,那我到底更改了什么呢?git diff 文本.txt 了解一下。

Administrator@XTZ-01804182126 MINGW64 ~/Desktop/git-upload (master)
$ git status
On branch master
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

        modified:   "\346\226\207\346\234\254.txt"

no changes added to commit (use "git add" and/or "git commit -a")

Administrator@XTZ-01804182126 MINGW64 ~/Desktop/git-upload (master)
$ git diff 文本.txt
diff --git "a/\346\226\207\346\234\254.txt" "b/\346\226\207\346\234\254.txt"
index c6a6747..bf2adc1 100644
--- "a/\346\226\207\346\234\254.txt"
+++ "b/\346\226\207\346\234\254.txt"
@@ -1,3 +1,5 @@
 写点啥呢,不知道,所以就这吧。
 再写一行
-第三行。
\ No newline at end of file
+第三行。
+
+第五行
\ No newline at end of file

Administrator@XTZ-01804182126 MINGW64 ~/Desktop/git-upload (master)
$

其实,文件的修改在于,我加了三个字:第五行。







请到「今天看啥」查看全文