【git】git配置与常用命令总结

此教程默认git已经安装完毕。接下来对git密/公钥的生成和仓库配置,以及git管理时涉及的常用指令做一个总结。

一、git配置

在git安装完毕之后,我们要利用git将本地与远程仓库连接。那么其中重要的一步,就是SSH KEY。其生成过程如下:

  1. 首先,对于刚安装好的git,设置我们的用户名和邮箱。从桌面右键进入GIT BASH,输入命令如下:
    git config --global user.name "用户名"
    git config --global user.email "邮箱"

    *如果后续要修改全局用户名和邮箱,也是使用上述两个指令。同时也可以进入.gitconfig文件中直接修改。该文件可以通过以下命令查看具体位置或者在bash中直接修改:

    git config --global --edit
  2. 执行指令生成SSH KEY,并按照提示输入你设置密码,回车确认
    ssh-keygen -t rsa -c "邮箱"

       出现如图情况代表创建成功。并且可以在“Your identification..”和"Your public key.."那两行分别看到id_rsa【存储私钥的文件,私钥可以生成公钥,反之不行】和id_rsa.pub【存储公钥的文件】。最后,用记事本打开id_rsa.pub文件,复制全部并进入任意需要连接的远程仓库(例如github、coding、gitlab等代码管理网站)中,在setting里找到配置SSH KEY的地方,将内容粘贴进去便完成与远程仓库的连接。

*这里提一嘴密码的修改方式:

git config --global user.password "123456(新的密码)"

 查看全局配置:

git config --global  --list

二、git常用指令

当你切换到目标管理的项目目录下,右键进入git bash中,输入以下指令便可完成管理。在这里,推荐一个git管理非常方便的小工具,省得每次都要输入指令:

 这里有安装教程:

(98条消息) Git 工具之TortoiseGit小乌龟安装配置及使用_好先生_Jerry的博客-CSDN博客_git工具小乌龟

但是,咱作为专业人士,这些git指令是基本功,还是一起来了解一下吧~

1、创建仓库

创建仓库分为两个情况:

  • 如果你是在本地写好的代码要用git管理,那么在你需要远程仓库管理的代码目录下面,使用指令:
git init

        这时,该项目中会出现 .git 文件夹,代表git仓库创建成功啦~之后,再进行commit、push上传你的代码。

  • 如果你是要先在别人写好的项目基础上开发,则用克隆指令:
git clone 项目的HTTP或者SSH
//其HTTP和SSH在远程代码仓库那里点击“克隆”复制获取

2、分支的操作指令

分支分为远程和本地分支,其对不同分支对象,新增、删除、合并等基础指令如下:

# 列出所有本地分支
$ git branch

# 列出所有远程分支
$ git branch -r

# 列出所有本地分支和远程分支
$ git branch -a

# 新建一个分支,但依然停留在当前分支
$ git branch [branch-name]

# 新建一个分支,并切换到该分支
$ git checkout -b [branch-name]

# 切换到指定分支,并更新工作区
$ git checkout [branch-name]

# 删除分支(-D是相当于 --delete --force)
$ git branch -d [branch-name]

# 删除远程分支
$ git branch -dr [remote库名/branch分支名]

# 新建一个分支,并且新分支指向本分支某一commit【commit用生成的hash key表示(git log)查看】
$ git branch [branch] [commit]

# 切换到上一个分支
$ git checkout -

# 合并指定分支target到当前分支
$ git merge [branch-target]

# 选择一个commit,合并进当前分支
$ git cherry-pick [commit-hash key]

初始的本地分支对象是master,我们可以通过以上指令例如git checkout 新建一个用于自己开发的本地分支。接着,一条分支用于管理远程分支的最新代码,一条分支用于本地开发。

3、拉取远端分支

拉取远端分支起到一个更新的效果。在团队协作时,如果别人更新重要代码需要及时拉取更新。当然,由于多人开发对代码的影响不同,拉取后容易造成代码冲突,我们需要在代码编辑器中手动解决代码冲突哦!

# 将指定远端分支拉取到本地
$ git pull [remote-branch-name] [local-branch-name]

# 上述指令的其余参数补充:可有可无,视报错情况选择,直接加在指令后面
$ --allow-unrelated-histories :当本地和远程仓库没有一个共同commit时候,报错“fatal: refusing to merge unrelated histories”时使用

$ --force :当本地分支和远端有不同commit,不能简单执行git pull的,会报错。此时如果只是想放弃本地的临时提交,强制将远程仓库的代码覆盖到本地分支。就要用到--force参数,强制拉取功能

* git pull是 git fetch和git merge两步的结合体。所以一般git pull后,对于当前本地分支来说,无需再一次手动进行git merge了。

4、提交到本地

对本地某分支上的代码,进行修改、更新之后,如果我们要将其推送到远端,需要首先提交到本地,否则无法推送!!这一步骤涉及的组合拳主要有git add和git commit,当新建了某个文件时,我们需要git add步骤,即将此时的文件目录情况添加到本地仓库管理,否则git commit 时候会报错!

# 添加当前目录的所有文件到暂存区【最方便、快捷】
$ git add .

# 添加指定文件到暂存区
$ git add [file1] [file2] ...

# 添加指定目录到暂存区,包括子目录
$ git add [dir]

# 提交暂存区到仓库区,并在message自己写提交信息
$ git commit -m [message]

# 提交暂存区的指定文件到仓库区
$ git commit [file1] [file2] ... -m [message]

# 使用一次新的commit,替代上一次提交,不生成新的commit-hash key
# 如果代码没有任何新变化,则用此次message来改写上一次commit的提交信息
$ git commit --amend -m [message]

#--------------对应的删除本地的仓库文件指令
# 删除工作区文件,并且将这次删除放入暂存区
$ git rm [file1] [file2] ...

# 停止追踪指定文件,但该文件会保留在工作区
$ git rm --cached [file]

* 注意,每一个commit会在其后生成一个hash key即commit的ID编号,我们可以通过git log或者git reflog查看commit的编号。如果要操作commit,则直接引用其编号进行操作。

5、推送到远端

提交到本地后,即可将本地分支的代码推送到远端。

# 上传本地指定分支到远程仓库,若branch省略则默认推送当前分支
$ git push [remote] [branch]

# 强行推送当前分支到远程仓库,即使有冲突
$ git push [remote] --force

# 推送所有本地分支到远程仓库
$ git push [remote] --al

6、查看历史信息

一些常用的查看提交信息的指令如下:

# 显示有变更的文件
$ git status

# 显示当前分支的版本历史
$ git log

# 显示某次提交的元数据和内容变化
$ git show [commit]


# 显示当前分支的最近几次提交
$ git reflog

其他还有很多git 细节,大家可以用git help自行查阅。

参考博客:Git常用命令,超实用(建议收藏随手查) - 三叔测试笔记 - 博客园 (cnblogs.com)

猜你喜欢

转载自blog.csdn.net/weixin_57208584/article/details/128615568
今日推荐