生成公钥并在github添加公钥
ssh-keygen -t rsa -C **********
测试是否可用
ssh -T git@github.com
本地初始化
git init
添加远程库
格式:git remote add [shortname] [url]
git remote add origin git@github.com:TonyBeen/eular.git
拉取指定仓库的代码
git pull origin master
代码提交相关
// 删除当前路径下未add的修改
git checkout – .
// 解除已add的文件
git restore --staged .
// 删除git commit但未git push推送的提交
// 如果只想删除最近的一个提交,可以将 n 设置为 1, 此命令慎用
git reset HEAD~n
// 回退git push较为麻烦
参考 https://blog.csdn.net/liuxiao723846/article/details/122691779
分支相关
// 查显示所有分支,并以*加绿色高亮当前分支
git branch
// 列出远程存在的分支
git branch -r
// 创建名字为name的分支
git branch name
// 切换到name分支
git checkout name
// 删除name分支
git branch -d name
// 将dev分支代码合并到当前所在分支,冲突后使用git status命令查看冲突
git merge dev
// 将指定的提交(commit)应用到当前分支, 用于更改部分提交
git cherry-pick commit-id
// 查看修改前后区别
git diff
拉取代码
// 查看当前主机别名
git remote -v
// 删除一个远程主机的别名
git remote rm [shortname]
// 修改远程主机别名
git remote rename oldName newName
// 将远程主机 origin 的 master 分支拉取过来,与本地的 branch 分支合并。
git pull origin master:branch
// 如果远程分支是与当前分支合并,则冒号后面的部分可以省略。
git pull origin master
查看提交历史
// 此命令组合方式甚多,不在赘述
git log
// 以列表形式显示修改记录
git blame
误删除文件/文件夹恢复
// 查看删除前的Git日志记录,找到删除该目录前的最后一次提交
git reflog
// 使用以下命令(请将 <commit_hash> 替换为之前找到的SHA值, <directory_path> 替换为被删除的文件夹路径)
git checkout <commit_hash> – <directory_path>
// 实际命令
git checkout 8f5abdf – mmap