git使用笔记
一、获取安装包
在Git官网下载、安装即可:https://git-scm.com/download
安装完成后,校验是否安装成功:git --version
C:\Windows\system32>git --version
git version 2.32.0.windows.2
二、本地配置用户信息
配置内容:user.name 和 user.email
配置目的:Git用来记录谁做了什么事
配置方法:windows下打开Git Bash进行操作
1、设置用户名
可以使用以下命令设置使用 Git 时的用户名:当前设置为xiaocompany
git config --global user.name "xiaocompany"
查看设置的名称
git config user.name
返回
C:\Windows\system32>git config user.name
aixiaoshicompany
2、设置邮箱
可以使用以下命令设置使用 Git 时的邮箱:当前设置为xiaoshi.ai@mail.zerosky.cn
git config --global user.email "xiaoshi.ai@mail.zerosky.cn"
查看设置的邮箱
git config user.email
返回
C:\Windows\system32>git config user.email
xiaoshi.ai@mail.zerosky.cn
3、设置命令颜色
除了上述两个基本的设置之外,还可以设置命令的颜色,以使输出具有更高的可读性:
git config --global color.ui auto
4、查看所有配置
通过上面的命令设置的信息会保存在本地的.gitconfig 文件中。可以使用以下命令查看所有配置信息:
git config --list
返回
C:\Windows\system32>git config --list
diff.astextplain.textconv=astextplain
filter.lfs.clean=git-lfs clean -- %f
filter.lfs.smudge=git-lfs smudge -- %f
filter.lfs.process=git-lfs filter-process
filter.lfs.required=true
http.sslbackend=openssl
http.sslcainfo=D:/install/work/Git/mingw64/ssl/certs/ca-bundle.crt
core.autocrlf=true
core.fscache=true
core.symlinks=false
pull.rebase=false
credential.helper=manager-core
credential.https://dev.azure.com.usehttppath=true
init.defaultbranch=master
user.email=xiaoshi.ai@mail.zerosky.cn
user.name=aixiaoshicompany
color.ui=auto
5、设置别名-暂未使用
git config 命令为我们提供了一种创建别名的方法,这种别名通常用于缩短现有的命令或者创建自定义命令。
git config --global alias.cm "commit -m"
这里为commit -m 创建一个别名 cm ,这样在提交暂存区文件时,只需要输入以下命令即可:
git cm <message>
三、生成本地SSH Key
以下操作全部需要在Git Bash 打开后
1、确认本地是否已经有该文件
生成目的:生成公钥和私钥,实现本地和服务器的认证
生成方法:首先确认本地是否已经有该文件,在用户主目录下(例如本机:C:UsersAdministrator.ssh),如果有再确认该目录下是否有文件id_rsa和id_rsa.pub,如果没有通过以下方法生成
查看是否有key,返回为空则无,有则删除
cd ~/.ssh
ll
返回
EDY@WINDOWS-IQVJQF5 MINGW64 ~/Desktop
$ cd ~/.ssh
EDY@WINDOWS-IQVJQF5 MINGW64 ~/.ssh
$ ll
total 1
-rw-r--r-- 1 EDY 197121 106 May 30 13:05 known_hosts
删除,此处建议到对应文件夹去删,不要通过命令,稍有不慎重装系统
方式一:查看当前所在位置(可使用linux命令,好像是兼容)
EDY@WINDOWS-IQVJQF5 MINGW64 ~/.ssh
$ pwd
/c/Users/EDY/.ssh
此处返回的对应关系为:C:\Users\EDY.ssh(这里的点之前有一个斜杠的,估计是windows的特性吧)
方式二:这是通过命令的方式
EDY@WINDOWS-IQVJQF5 MINGW64 ~/.ssh
$ rm -rf known_hosts
EDY@WINDOWS-IQVJQF5 MINGW64 ~/.ssh
$ ll
total 0
2、生成密钥
输入正确的邮箱,需要输入内容的地方一路回车
ssh-keygen -t rsa -C "xiaoshi.ai@mail.zerosky.cn"
结果
EDY@WINDOWS-IQVJQF5 MINGW64 ~/.ssh
$ ssh-keygen -t rsa -C "xiaoshi.ai@mail.zerosky.cn"
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/EDY/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /c/Users/EDY/.ssh/id_rsa
Your public key has been saved in /c/Users/EDY/.ssh/id_rsa.pub
The key fingerprint is:
SHA256:bC6xO1IomglwVtKPxdymWH8aYLAbFz+ulkBt9LGnnQE xiaoshi.ai@mail.zerosky.cn
The key's randomart image is:
+---[RSA 3072]----+
| ..+o.E |
| . o+B+o+ |
| o+B+== o |
|. o.o=ooo=.o |
|.o o.. S+o |
|. . ...B. |
|.+ . .* . |
|+ ...o |
| ... |
+----[SHA256]-----+
验证是否生成文件id_rsa (私钥)和id_rsa.pub (公钥)
EDY@WINDOWS-IQVJQF5 MINGW64 ~/.ssh
$ ll
total 5
-rw-r--r-- 1 EDY 197121 2610 Oct 20 18:08 id_rsa
-rw-r--r-- 1 EDY 197121 580 Oct 20 18:08 id_rsa.pub
四、添加公钥到GitLab服务器
添加原因:You won't be able to pull or push project code via SSH until you add an SSH key to your profile,
未添加的情况下,载GitLab页面会明显提示这个错误,是不可以实现上传操作的
1、上传公钥
gitleb访问链接:https://gitlab.zerosky.cn/users/sign_in
账号/密码:aixiaoshi/公司提供
进入偏好设置-SSH:Prefercens-SSH Keys ,将获取的公钥复制粘贴
五、下载代码
1、获取url
点击Clone,选择Clone with SSH,然后复制git开头的那个链接
ssh://git@gitlab.zerosky.cn:2022/hotel/integration-scripts.git
2、复制代码到本地
创建存放代码文件夹 MyProject
命令行进入,并执行
初始化空仓库 用于跟踪和版本迭代,使用git命令初始化文件夹:git init
D:\MyProject>git init
Reinitialized existing Git repository in D:/MyProject/.git/
结果
在文件夹下生成一个.git 的文件,此文件别删除
下载代码
打开Git Bash Here ,使用下载代码命令 :git clone ‘代码’
git clone ssh://git@gitlab.zerosky.cn:2022/hotel/integration-scripts.git
结果
EDY@WINDOWS-IQVJQF5 MINGW64 /d/MyProject (master)
$ git clone ssh://git@gitlab.zerosky.cn:2022/hotel/integration-scripts.git
Cloning into 'integration-scripts'...
The authenticity of host '[gitlab.zerosky.cn]:2022 ([121.201.18.33]:2022)' can't be established.
ED25519 key fingerprint is SHA256:otQ2NYvsinswCSSNd8RGGfL4WhoRES1erhleHOLvTYs.
This key is not known by any other names
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '[gitlab.zerosky.cn]:2022' (ED25519) to the list of known hosts.
remote: Enumerating objects: 413, done.
remote: Counting objects: 100% (168/168), done.
remote: Compressing objects: 100% (70/70), done.
remote: Total 413 (delta 113), reused 153 (delta 98), pack-reused 245
Receiving objects: 100% (413/413), 5.19 MiB | 1.38 MiB/s, done.
Resolving deltas: 100% (249/249), done.
成功
六、提交代码
修改的代码-本地暂存区-本地仓库-远程分支
git add .
git commit -m “这是备注”
git push origin testxiao
七、常用命令
git branch
git checkout main
git clone XXX //下载项目
git pull // 更新项目
其他命令
当master代码改动了,需要更新开发分支(dev)上的代码:
git checkout master
git pull
git checkout dev
git merge master
git push -u origin dev
上传流程
修改的代码-本地暂存区-本地仓库-远程分支
合并流程
分支-本地合并-远程合并
git checkout main
git clone XXX //下载项目
git pull // 更新项目
git branch
git branch testxiao //创建testxiao 本地新分支
git checkout testxiao //选择testxiao 新分支并进入
git push origin testxiao
git add .
git commit
git commit -m “这是备注”
git push
git push origin testxiao
1、首先切换到test分支之上,命令如下所示。
git checkout test
2、将testxiao 合并至 test分支命令如下所示。
git merge testxiao //合并testxiao分支
git status // 查看分支状态
3、最后需要将test合并的请求发至服务器上。代码如下所示
git push origin test
|