Git - 简单入门

Git 使用指南

Git 如何推送当前目录到远程仓库

  1. 初始化本地仓库为Git 仓库:在项目根目录下运行命令 git init ,这会创建一个 .git 目录,把当前目录变成一个 Git 仓库。

  2. 添加文件到暂存区:可以用 git add . 命令将项目中的所有文件添加到 Git 的暂存区,也可以指定特定的文件 git add <文件名>

  3. 提交更改:使用命令 git commit -m "提交内容的描述" 提交暂存区中的更改到本地仓库,-m 后面的内容是提交的说明,描述此次提交的变更。

  4. 连接远程仓库:获取远程仓库的 URL 地址,比如 GitHub 上仓库的 HTTPS 或 SSH 地址(当然需要提前先在远程建立一个仓库),然后使用命令 git remote add origin <远程仓库URL> 将本地仓库与远程仓库(如 GitHubGitLab 等)进行连接。origin 是远程仓库的默认名称,也可以指定为其他名称。

  5. 拉取远程更新(当远程仓库和本地仓库的内容不一致的时候需要先拉取远程仓库的内容):使用命令 git pull origin main --rebase 同步远程仓库(origin)的主分支 main 中的代码到本地。一般远程仓库的主分支叫 main 或者 masterGithub 默认是 main )。

    关于 mergerebase 的区别可以参考:Git:图解 merge 和 rebase 的区别 - 知乎 (zhihu.com)

  6. 推送本地代码到远程仓库:使用命令 git push -u origin main 将本地的代码推送到远程仓库的指定分支(通常是 main 或者 master)。

    当使用 git push -u origin <branch> 之后,本地的 <branch> 分支会与远程的 <branch> 分支建立跟踪关系。此后,Git 记住你推送的远程仓库和分支,因此以后只需要运行 git push,而无需再次指定远程仓库和分支。同样,拉取时也可以使用简化后的命令 git pull。所以只有第一次推送时需要添加 -u origin main 参数。

.gitignore 如何添加已经 commit 过的文件到不追踪规则中

首先删除 track 的文件(已经 commit 的文件):

1
git rm -r --cached <file name>

<file name> 代表要取消 commit 的文件,接受多个参数,比如要取消追踪 test.py 文件和 hello 文件夹可以这样:

1
git rm -r --cached test.py hello

然后在 .gitignore 文件中添加 ignore 条目,比如:test.pyhello,然后提交 .gitignore 文件:

1
git commit -a -m "delete some unused file."

Lazygit

当然,如果觉得 Git 要一直输入命令好麻烦,还有一个适合命令行的 Lazygit 非常推荐,适合像我一样不喜欢自己输入这种重复命令的同学使用。

安装了 Lazygit 之后在命令行中输入 lazygit 就可以启动了。

在启动 Lazygit 并提示“未在 Git 仓库中”时,它允许你直接在当前目录下创建一个新的 Git 仓库。可以按照以下步骤完成初始化:

  1. 创建新 Git 仓库:当 Lazygit 提示是否要创建一个新的 Git 仓库时,输入 y 并按回车键。

  2. 设置分支名称:Lazygit 会询问你要设置的分支名称。可以选择:

    • 留空:直接按回车,将使用 Git 的默认分支名称(一般是 mainmaster,取决于 Git 配置)。
    • 自定义名称:输入自定义分支名称并按回车。

完成这两步后,Lazygit 会创建一个新的 Git 仓库,并切换到你指定的分支名称,接着你就可以正常使用 Lazygit 进行文件暂存、提交、推送等操作了。

Lazygit 提供了快捷键操作,常见的有以下几个:

  • ↑ / ↓:上下移动光标,选择不同文件或提交记录。
  • Enter:查看详细内容(如文件变更或提交详情)。
  • Space:暂存/取消暂存文件。
  • a:暂存所有修改。
  • c:打开提交消息输入界面,完成后保存提交。
  • P:推送代码到远程仓库。
  • fp:从远程仓库拉取代码。
  • b:切换或新建分支。
  • q:退出 Lazygit。
  • ?:查看所有快捷键说明。

Git - 简单入门
https://chen-huaneng.github.io/2024/10/14/2024-10-14-2024-10-14-git/
作者
Abel
发布于
2024年10月14日
更新于
2024年10月29日
许可协议