个人向git命令总结大全

最近打算入门《Hello 算法》这本教程,打算基于==Python==、==C++==、==Rust==三个语言来学习这本教程,主要是针对数据结构及算法这些层面,来给自己做一个入门。

其中涉及到一些东西,比如说环境的安装(Rust的我连安装都不会),还有一个比较重要的是,我会在实验室的Windows台式机和宿舍的Macbook两个电脑上进行学习,如果只是学习算法不敲代码就还好,一些网页或者文档同步就比较简单,用Onedrive或者NAS同步就行。但是如果学算法不自己手敲的话,岂不是相当于没学么?这个时候代码同步托管平台的重要性就显现出来了,首选肯定是github,这就免不了使用git命令了。但是鄙人实在是不太精通git的使用,所以网上搜罗,并且手敲,花了一下午的时间基本搞清楚了个人的相关使用(目前只做了两个端,三个branch,一些简单的应用,如果要对应于应用的多人开发肯定是胜任不了的;什么develop分支、bug分支、release分支这些,实在太多了,也没耐心学习,可能后面会逐步用到再学习吧,现在也只是个人开发,够用了。

注:网上有很多好用的教程,而本人懒得每次都去搜,同时有很多git的内容比较繁杂,所以在这里只做精简的指令总结,以后忘记的时候可以快速找到。

基本指令

以下是最基础的git使用命令,即对应初始化,添加文件,提交到仓库,以及push到github等相关代码托管平台指令。

git init

git add */.
git commit -m '*****'
git branch -M main
git status
git remote add origin https://github/***.git

git push -u origin main

其中,有一些疑问的,比如说git branch -M main-M的用处,其实就是:

-M选项用于重命名分支,并且可以替换同名的现有分支。 重命名分支在Git中是一种常见操作,适用于统一命名约定或更改分支的描述性名称。 通过使用git branch -M main命令,我们可以将默认分支从”master”更改为”main”,并避免与种族主义术语相关的问题。

Git “git branch -M main”中的-M是什么意思|极客笔记 (omnivore.app)

还有,git push -u origin main 中的-u 的作用:

The -u tells Git to remember the parameters, so that next time we can simply run git push and Git will know what to do.

相当于第一次串门的时候你登了个记办了个vip。以后再来就知道是你来了。不用脱裤子搜身了

git push 的 -u 参数具体适合含义? - 知乎 (zhihu.com)

不同分支版本管理

本地间不同分支切换与合并

以上就是最基本的,后面的话设计一些分支操作还有不同分支的版本管理。

创建一个新的分支可以使用以下命令:

git branch <branch_name>

这将在当前所在的提交上创建一个名为 <branch_name> 的新分支。

要切换到新创建的分支,可以使用以下命令:

git checkout <branch_name>
git switch <branch_name>

创建并立即切换到该分支,可以使用以下命令:

git checkout -b <branch_name>

合并分支可以使用以下命令:

git merge <branch_name>

这将将 <branch_name> 分支中的更改合并到当前分支。

处理冲突

当两个分支上的代码修改了同一部分,并且尝试将这两个分支合并时,就会发生代码冲突。Git提供了以下步骤来解决冲突:

  1. 运行 git status 命令查看哪些文件包含冲突。
  2. 编辑有冲突的文件,手动解决文件中的冲突。
  3. 对编辑后的文件进行 git add,标记为已解决冲突的文件。
  4. 使用 git commit 提交更改,Git 会自动生成一个合并提交,其中包含各自分支中的更改。

注意:在解决冲突前,最好先备份当前的代码状态,以免不小心破坏代码库。另外,在处理冲突之前,可以通过运行 git diff 命令来查看冲突的源代码,以便更好地理解要解决的问题。

从远端仓库提取数据并尝试合并

从云端仓库中获取最新的版本信息

git fetch origin

以上命令将服务器上的任何更新(假设有人这时候推送到服务器了)合并到你的当前分支。

将云端fetch到的最新的内容合并到当前分支。

git merge origin/main/*

基本这样就够正常使用了,反正我的正常使用应该够用了。

下面一些参考资料,以供相关应用。

附录

Git 使用教程:最详细、最正宗手把手教学(万字长文) - 知乎 (zhihu.com)

我在M1 MacBook Pro上的git使用技巧-CSDN博客

为什么开了代理,git push 还是很慢或报错_git有权限但push卡顿_Xavier Jiezou的博客-CSDN博客

Git 分支管理 | 菜鸟教程 (runoob.com)

git fetch 命令 | 菜鸟教程 (runoob.com)