Git

https://tuts.alexmercedcoder.com/2021/1/guidetogit/

新建git仓库

在项目目录下,查看git信息

git status

这一步十分重要。若该项目下已生成git仓库,则会产生意想不到的冲突。

若没有git仓库,则可以执行新建命令

git init 

提交文件

将待管理的文件存入暂存池(staging area)。

常见的包含以下几个命令:

  • git add .

添加所有的修改和新建文件至暂存池。

  • git add file.txt

添加特定的文件存入暂存池。

  • git add -A

添加所有被删除、被替换、被修改和新增的文件到暂存池。

随后,提交文件至当前分支上,不要忘记添加-m标志

git commit -m "This is the first commit"

上传至远程仓库

github上新建仓库,不添加read.md。

在本地仓库添加远程仓库,推荐使用ssh方式。

git remote add remoteName git@github.com:xxxx.git

若添加后想删除远程连接

git remote rm remoteName

将暂存池的内容上传到远程仓库

git push remoteName branchName

修改主分支名称

git默认的主分支名称为master,而大部分的代码托管网站的git主分支为master,因此需要修改分支名称。

方法一:新建main分支,复制master分支至main分支,切换至main分支后删除master分析

  1. 新建main分支
git checkout -b main

-b表示新建的分支拷贝当前分支内容.

  1. 切换分支
git checkout main
  1. 删除master分支
git branch -D master

方法二: 直接修改当前分支名称

git branch -m main

随后,更换branch默认名称。

在git 2.28及以上版本,可执行以下命令来更新默认branch名称。

git config --global init.defaultBranch main

之后新建git仓库后,默认主分支名称为main

常见错误信息

Q:error: src refspec u does not match any:

A:无法上传

GitHub Quick Setup

create a new repository on the command line

echo "# lotteryHelper_Server" >> README.md
git init
git add README.md
git commit -m "first commit"
git branch -M main
git remote add origin git@github.com:flik1337/lotteryHelper_Server.git
git push -u origin main

…or push an existing repository from the command line

git remote add origin git@github.com:flik1337/lotteryHelper_Server.git
git branch -M main
git push -u origin main

…or import code from another repository

You can initialize this repository with code from a Subversion, Mercurial, or TFS project.

ssh

本地端

生成ssh秘钥,若添加-p符,则可以取消公钥文件的密码,这样在ssh登录时可以不用输入密码。

ssh-kengen -p

默认将会在~/.ssh/下生成:

  • id_rsa 私钥
  • id_rsa.pub 公钥

下一步将公钥文件的内容写入服务器

服务器端

~/.ssh/下,将公钥文件内容写入authorized_keys

.ssh不存在,则新建即可。

cd ~
cd .ssh/
echo 'ssh-rsa xxxxxx' >> authorized_keys
cat authorized_keys

登录

在本地,使用命令行进入.ssh目录,并执行ssh命令,后面跟上服务器端ip地址,便可进行ssh登录。

cd ~/.ssh
ssh x.x.x.x

该命令默认使用当前登录的用户登录,并读取~/.ssh/id_rsa内的私钥来登录。

例如本地当前用户为flik,则上面的命令等价于:

ssh -i ./id_rsa flik@x.x.x.x

-i参数用来指定使用的私钥。

执行后,ssh将在服务器端的flik/.ssh/authorized_keys中查找公钥并尝试登录。

若服务器端不存在flik用户,则出现以下提示,此时需要重新切换用户来重新登录。

flik@x.x.x.x's password: