Git 学习
踏歌行 2023-04-01
工具
版本控制
协同开发
阅读量:
感觉Git的两个好处:一是版本控制,而是方便了多人协同开发。回想以前不使用Git写代码的一两年,简直就是原始人的石器时代。
# Git下载与初始设置
- git command 设置记录:
mkdir .ssh
cd ./.ssh
git config --global user.name "XXX"
git config --global user.email "XXX"
ssh-keygen -t rsa -C "XXX.com"
Generating public/private rsa key pair. Overwrite (y/n)? y Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in XXX/.ssh/id_rsa. Your public key has been saved in XXX/.ssh/id_rsa.pub. The key fingerprint is: XXXXXX The key's randomart image is:
- 添加Key到Git服务的网页:
# Git 使用
# 常用命令
git log
查看所有commits记录git pull
git add .
git commit -m "xxx"
git push
git add -f XXX
-f 是强制force提交,不管ignore文件
# 修改代码与提交Merge
- 根据主分支创建自己的Branch
- 自己的每次小更改就 本地Push自己本地的Branch 到自己网上的Branch
- 最后在GitLab网页上提交Merge Reques到主分支
- 自己确认Merge
# 查看历史log
git log -- author=用户名
git shortlog --numbered --author=XXX
# 查看不到远程分支 git fetch
git fetch 命令用于从远程获取代码库。
# ignore
生成“.gitignore”文件 touch .gitignore
# git stash隐藏
场景:分支有改变时不提交,想隐藏然后暂存,然后切换分支进行其他操作
- git stash save 'message...'
- git stash list
- git status
- git stash apply 0
# git cherry-pick
挑选部分的commit来提交的指令git cherry-pick
# 出错情况
# git clone 出错
error: RPC failed; curl 92 HTTP/2 stream 5 was not closed cleanly: CANCEL
- 分析 (opens new window)
- 解决:
git clone https://github.com/XXX/XXX.git --depth 1
只来获取最新一次的提交 cd ./projectName
git fetch --unshallow
之后如果想获取全部历史记录