git 使用

作者IYATT-yx

4月 22, 2021

最近更新于 2022-04-05 12:38

Git Book:https://git-scm.com/book/zh

Git 和 GitHub

设置身份信息

git config --global user.email 'GitHub邮箱'

git config --global user.name 'GitHub用户名'

配置ssh验证

生成ssh密钥

ssh-keygen -C '[邮箱]' -t rsa -b 4096

将 ~/.ssh/id_rsa.pub 中的内容添加到 https://github.com/settings/keys

测试ssh密钥,执行命令,成功返回 Hi xxxx! You’ve successfully authenticated, but GitHub does not provide shell access.

ssh -T git@github.com

使用Git从本地上传到GitHub

进入目标文件夹,执行命令初始化

git init

创建主分支

git branch -M main

创建本地仓库 origin

git remote add origin git@github.com:[用户名]/[GitHub上新建的远程仓库名].git

添加文件到缓冲区

# 添加指定文件
git add [文件名]
# 自动判断要添加的文件
git add .

然后提交文件到本地仓库

git commit -m '[注释]'

推送到GitHub

git push -u origin main

分支使用

git branch [分支名称] 创建分支

git checkout [分支名称] 切换分支

git merge [分支名称] 将指定分支合并到当前分支

当两个分支修改同一个文件后,在合并分支时会发生冲突,需要手动编辑被修改文件,解决冲突后再提交。在合并分支时,Git 会用 Fast Forward 模式,在这种模式下,删除分支后会丢掉分支信息。

可以添加参数 -no-ff 来强制关闭 Fast Forward 模式,在普通模式下,合并后的历史有分支,能看出来曾经做过合并。

git branch -d [分支名] 删除分支

git log ( –graph –pretty=oneline –abbrev-commit ) 产看分支的提交号

git branch [分支名称] [提交号] 恢复分支

提交Git代码

git pull 拉取服务器代码(在提交前,先拉取服务器上的代码,以防覆盖别人的代码)

git status 查看当前工作目录树修改状态

untracked::未追踪,此文件在文件夹中,但并没有加入git库,不参与版本控制。通过 git add 命令可将状态改为 Staged。

Modified:文件已修改,仅仅是修改,并没有进行其它的操作。

Deleted:文件已删除,仅在本地删除,在服务器还没有删除。

renamed:文件已改名。

git add [文件名] 提交文件到缓冲区

git commit -m ‘[注释]’ 添加到仓库

git push 将代码推送到服务器

git reset 撤回提交到缓冲区的文件

git reset -soft [提交号] 回退版本号,不恢复文件

git reset -hard [提交号] 回退到相应的版本

作者 IYATT-yx