git命令高级操作
一、git 初始化前命令
1、由于刚刚安装完git所以首先要初始化:
检测下自己之前有没有配置,如没有则:git config user.name和git config user.email(直接分别输入这两个命令)
$ git config --global user.name "John Doe" #自己的名字
$ git config --global user.email johndoe@example.com #自己的邮箱
2、生成秘钥
ssh-keygen -t rsa -C ‘上面的邮箱’
按回车后生成

最后在.ssh目录下得到了两个文件:id_rsa(私有秘钥)和id_rsa.pub(公有密钥)
说明SSH key 已经创建成功,你只需要添加到github的SSH key上就可以了
3、添加你的 SSH key 到 github上面去
a、首先你需要拷贝 id_rsa.pub 文件的内容,使用用编辑器打开文件,复制内容,(注意仅复制文本,不能多空格或者回车):
gedit ~/.ssh/id_rsa.pub
b、登录你的github账号,从右上角的设置Settings 进入,然后点击Personal setting 中的SSH and GPG keys,点击New SSH key,把复制的 SSH key 代码粘贴到对应的输入框中,记得 SSH key 代码的前后不要留有空格或者回车。输入别名,默认使用邮箱


4、测试SSH key:
在git Bash 中输入以下代码: ssh -T git@github.com
当你输入以上代码时,会有一段警告代码,如:
The authenticity of host ‘github.com (48.6.6.000)’ can’t be established.
RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.
Are you sure you want to continue connecting (yes/no)?
输入 yes 回车既可。如果创建 SSH key 的时候设置了密码,接下来就会提示你输入密码,如:
Enter passphrase for key ‘/c/Users/Administrator/.ssh/id_rsa’
密码正确后你会看到下面这段话
Hi #######! You’ve successfully authenticated, but GitHub does notprovide shell access.
表示配置成功 :
SSH链接为:git@github.com:username/project.git 如下所示
配置完之后 就可以克隆了:有两种方式:

1)ssh方式:这是一种相对安全的方式
这要求将本地的公钥上传到gitlab中,如下图

2)http连接方式
这种方式要求project在创建的时候只能选择“Public”公开状态,Private和Internal私有模式下不能使用http方式进行连接。(ssh方式在三种模式下都可以)。使用http方式直接连接gitlab显然没有ssh连接方式安全,但是也可以做些安全设置,比如在gitlab本机的iptables里做端口限制(如上是8081端口),添加白名单等

以上操作之后接下来开始
二、git的一些基本操作命令
1、首先进入到你所在目录下,
cd /目录名,如无则 mkdir 0777 目录名
git init //初始化本地git环境
git clone git@49.99.6.002:PythonAndAITrainingCamp/course-info.git #克隆一份代码到本地仓库

在本地创建新分支
git branch master
创建成功后还是存在当前分支。建议在项目中可以根据不同功能创建不同分支。

创建并切换到分支:git checkout -b 分支名

删除分支:git branch -D 分支名;(这里的-D是彻底删除,当然还有-d)

查看当前分支 的状态:git status和git status . 后者代表的是当前项目所有文件

添加目录或文件::git add 文件目录/文件名;和git add . 后者代表当前目录下所有文件提交到暂存区

提交到本地分支:git commit -m "标签注解",注解主要是对修改的内容的说明

提交到远端分支:git push origin 远端分支名;这里分支名如果远端不存在,上传成功后会自动创建

将远端的代码拉到本地分支:git pull origin 分支名;如果有冲突,可以用git status查看有冲突的文件
取消上次修改:git reset head 分支名 . 返回到上次提交状态

返回到某一分支的某一 版本: git reset --hard 版本号:

拉取新分支:git fetch (下面操作有提示新分支)



git log //查看当前分支上面的日志信息 注意: git log -p -2(显示最近修改的二次日志)
![]()
- git reflog 会记录以前的所有版本信息:
git stash list //查看所有的缓存
![]()
- git stash apply 暂存区号
![]()
- 解决冲突:去掉尖括号左右的东西,git add . git commit - m ''例:
![]()
- git stash clear (清空暂存区)
- git stash drop 暂存区号:
![]()
- git stash show: 描述 了暂存区哪些文件改变 的内容
![]()
- git diff 版本号码1 版本号码2 查看任意两个版本之间的改动
- git tag -a v1 -m 'version' 创建标签
![]()
- git tag 查看标签
- 后面还有一些命令大家自行补脑
![]()










浙公网安备 33010602011771号