学习GIT个人笔记

摘要:
在阅读教程和练习之后,我已经基本掌握了GIT的用法,所以我将在这里记录下来;1、 对于基本应用程序,安装GIT后,打开gitbash;1.在Windows下输入一个目录,并创建一个用于存储git项目的目录。2.输入创建的git目录并对其进行初始化。此时,项目为空。初始化后,创建相应的仓库;3.有两种使用场景。一个是我在本地有文件,但gitee远程仓库没有;另一个是如何在本地和远程操作gitee现有的项目;

看完了教程,又动手实践了下,基本已经掌握GIT用法,这里记录一下;

一、基本应用,安装好GIT后,打开git bash;

1、windows下进入某个目录,并创建一个用来存放git项目的目录

2、进入创建的git目录,并初始化一下,此时项目是空的,初始化后对应的仓库就建立了;

学习GIT个人笔记第1张

3、现在有两种使用场景,一种是我本地有文件,但是gitee这个远程仓库没有;另外一种是gitee已有项目,如何本地操作后再远程上去;

二、先说第一种,我本地有文件,但是gitee这个远程仓库没有;

1、首先gittee建立项目,以及项目的仓库(登录你的gitee建立吧),此处可以参考别人的教程:https://www.liaoxuefeng.com/wiki/896043488029600/898732864121440操作方法也在里面写的有;

有个问题就是第一次上传东西到空仓库,会出错:failed to push some refs to git,原因在于没有把空仓库刚才手动创建的readme文件同步到本地(以上教程说的是空仓库的时候,这里因为gitee在创建仓库后提示你最好创建一个readme什么的,你可能点了,就不是空仓库了,就会第一次出现这个错误,解决方法输入 git pull --rebase origin master 先,给远程库的更新先同步到本地,然后再试)

2、先给你的本地(工作区)存到本地git暂存区

git add * 

3、提交到本地的GIT仓库中,默认初始化时创建的master仓库

git commit -m "first commit"

4、建立你本地与远程仓库的链接,远程库的名字origin,就是在建立链接时确定的,可以随便起,只用在你这台电脑上

git remote add origin git@github.com:xxxxx/xxx001.git

5、开始给你的本地库推送到远程库中

git push -u origin master
-u 只用在第一次全部推送到远程库而且远程库是空的时候,如出错见上面的第1条;
-u 参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令=》只写git push即可。

6、接下来的修改推送到远程,只需要git push即可

git push

三、第二种情景,只有远程库,想在本地操作后再推送回去

1、本地初始化一个目录,进入该目录后,克隆一个远程仓库

git init
git clone git@gitee.com:XXXXX/xxxxx.git

链接方式有两种,上面这是SSH方式,其需要配置公钥,具体见廖雪峰的教程;

2、第一次过程中需要输入个yes,然后就是回车

3、接下来就是你修改后,正常的push即可

四、服务器上的项目,改为从仓库拉取更新

1、宝塔进入对应网站目录,点击终端按钮(宝塔新版本有这个功能)

学习GIT个人笔记第2张

2、打开会自动cd到本目录,免去自己cd的步骤了;光标开始闪烁后,输入git,查看服务器是否已经安装了git,如果没有请自行安装;

3、初始化git,输入git init

4、因为网站目录不为空,所以先给本目录的东西加入到本地库(就是刚初始化的git仓库),git add * => git commit -m "all stage"

5、现在git branch,查看本地仓库状态,发现能正常出来master主仓库了;

学习GIT个人笔记第3张

6、下面开始建立与远程仓库的链接(我的仓库用的gitee)

学习GIT个人笔记第4张

你可能注意到了我用的是https的链接方式(这种方式会有点繁琐,需要过程中输入口令,你可以视情况改为SSH链接--SSH链接需要先配置公钥)

7、接下来直接强制拉取发现拉取不了,方法是需要重新fetch一下

学习GIT个人笔记第5张

得到远程仓库信息后,再次强行拉取远程数据到本地master仓库

因为我们并不在服务器上进行修改操作,所以服务器一般只有一个默认仓库master,这样拉取更新时,可以指定拉取的仓库

git fetch hmser master

8、解下来就用git pull拉取,直接拉取不来,就带上远程库的名字以及本地库的名字

学习GIT个人笔记第6张

(实际上,有时候这样也拉不了,会有各种报错,根据报错搜对应答案吧,pull之前,最好先git status一下)

9、搞定,已经拉取了最新的;(这样平时修改就是在自己的电脑上,推送到远程仓库gitee后,没有问题,就进服务器的宝塔中如上操作更新一波)

10、日常就不要直接修改服务器上的文件了,需要更新时,直接git pull hmser master从远程库中拉取最新即可;

解释下我的远程库名字hmser,这个可以随便起,一般教程里用的都是ororigin,在与远程库连接时,你用的啥就是啥

五、使用经验

1、以远程库为中心,远程库的master是稳定版,dev是开发板

2、在本地切换到dev进行开发,push也对应远程仓库的dev

3、修改确定后,给dev合并到本地主仓库master,先切换到master,再git merge dev(会弹出合并的理由,填写下,给编辑器关上,即可自动合并并commit),此时再push就对应远程仓库的master

4、实际使用中,服务器的某个文件或许会因操作后台而变化,导致文件变动了,pull的时候提示对应信息,拉取不了,此时就是强制git reset --hard回到上次版本处,再拉取,至于那个变化的文件,如果有需要后台操作的地方,再操作一次吧,或者下次给设置为不拉取此文件(错误提示:commit your changes or stash them before you can merge.);

免责声明:文章转载自《学习GIT个人笔记》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇游戏服务器端开发的基本大纲最新申请苹果公司级开发者账号下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Git忽略提交规则

在使用Git的过程中,我们喜欢有的文件比如日志,临时文件,编译的中间文件等不要提交到代码仓库,这时就要设置相应的忽略规则,来忽略这些文件的提交。简单来说一个场景:在你使用git add .的时候,遇到了把你不想提交的文件也添加到了缓存中去的情况,比如项目的本地配置信息,如果你上传到Git中去其他人pull下来的时候就会和他本地的配置有冲突,所以这样的个性化...

git--指定不上传的文件夹

在使用 vue-cli 脚手架的时候,有一个依赖模板文件夹是不希望被上传到git上的,因为里面文件太多了。 解决办法:手动创建git忽略push清单,node_module以及自身 1.文件夹内右键git bash,输 touch .gitignore,注意中间有空格。  2.编辑器打开生成的 .gitignore 文件,加入: node_modules...

centos7 搭建bitcoin/usdt 节点服务

1. 下载依赖 yuminstall-yboost-devel qt-develprotobuf-develqrencode-devellibevent-devellibtoolopenssl-devel 2.下载 bitcoin core / omni core(usdt 节点) https://github.com/bitcoin/bitcoin.gi...

如何从github下载项目的源代码,包含git客户端,直接下载,vs下载

有好多小伙伴可能刚刚接触github,还不知道如果和github下载项目,此处写个博客统一的声明。从多种方式下载源代码,加深对git的理解。 首先先解释下git的含义,git是一个源代码的管理工具,通俗的解释,每当你保存一次,源代码项目就做了一个镜像,如果你保存了100次,就生成了一个镜像,以后的任意时间都可以恢复到之前的任意一个镜像,并且可以从镜像处开始...

CentOs7安装gitlab(转!)

沧浪之水清兮,可以濯吾缨; 沧浪之水浊兮,可以濯吾足。                                                                                  -------------------《渔夫》引自《大江大河:水书记》 转自:https://www.cnblogs.com/chenfoo...

keepalived 配置文件参数详解

global_defs 全局配置vrrpd1. vrrp_script添加一个周期性执行的脚本。脚本的退出状态码会被调用它的所有的VRRP Instance记录。2. vrrp_sync_group将所有相关的VRRP实例定义在一起,作为一个VRRP Group,如果组内的任意一个实例出现问题,都可以实现Failover3. garp_group4. vr...