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分析
- 新建main分支
git checkout -b main
-b
表示新建的分支拷贝当前分支内容.
- 切换分支
git checkout main
- 删除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: