Git基本使用

Git 是一个免费的、开源的分布式版本控制系统,可以快速高效地处理从小型到大型的各种项目。

Git 易于学习,占地面积小,性能极快。 它具有廉价的本地库,方便的暂存区域和多个工作流分支等特性。其性能优于 Subversion、CVS、Perforce 和 ClearCase 等版本控制工具。

➢ 集中式版本控制工具 CVS、SVN(Subversion)、VSS……

➢ 分布式版本控制工具 Git、Mercurial、Bazaar、Darcs……

工作机制

工作区 add—>暂存区 commit—>本地库

Git 和代码托管中心

代码托管中心是基于网络服务器的远程代码仓库,一般我们简单称为远程库。

➢ 局域网

​ ✓ GitLab

➢ 互联网

​ ✓ GitHub

​ ✓ Gitee 码云

Git常用命令 命令名称 作用
git config --global user.name 用户名   设置用户签名  
git config --global user.email 邮箱   设置用户签名  
git init   初始化本地库  
git status   查看本地库状态  
git add 文件名   添加到暂存区  
git rm --cached   删除暂存区中的文件  
git commit -m "日志信息" 文件名   提交到本地库  
git reflog   查看历史记录  
git log   查看版本详细信息  
git reset --hard 版本号   版本穿梭  

在用户/.gitconfig查看用户签名

[filter "lfs"] smudge = git-lfs smudge -- %f process = git-lfs filter-process required = true clean = git-lfs clean -- %f [user] name = KennyX email = lyy406@foxmail Git分支操作

在版本控制过程中,同时推进多个任务,为每个任务,我们就可以创建每个任务的单独分支。使用分支意味着程序员可以把自己的工作从开发主线上分离开来, 开发自己分支的时候,不会影响主线分支的运行。对于初学者而言,分支可以简单理解为副本,一个分支就是一个单独的副本。(分支底层其实也是指针的引用)

命令名称 作用
git branch 分支名   创建分支  
git branch -v   查看分支  
git checkout 分支名   切换分支  
git merge 分支名   把指定的分支合并到当前分支上  

当出现分支冲突时(master|MERGING)要手动解决,再次提交不能带文件名 直接提交

在.git中 HEAD文件可以查看当前分支,再/refs/heads的master中可以查看当前指向的版本

Github操作

远程仓库操作

命令名称 作用
git remote -v   查看当前所有远程地址别名  
git remote add 别名 远程地址   起别名  
git push 别名 分支   推送本地分支上的内容到远程仓库  
git clone 远程地址   将远程仓库的内容克隆到本地  
git pull 远程库地址别名 远程分支名   将远程仓库对于分支最新内容拉下来后与 当前本地分支直接合并  

SSH免密登录

先到用户的主页目录,删除.ssh文件夹(如果没有.ssh文件夹,忽略此步)

运行命令ssh-keygen生成.ssh目录:

abc@DESKTOP-R85C9HV MINGW64 ~/Desktop/HelloGit-clone/HelloGit (master) $ ssh-keygen -t rsa -C abc@123.com Generating public/private rsa key pair. Enter file in which to save the key (/c/Users/abc/.ssh/id_rsa): Created directory \'/c/Users/abc/.ssh\'. Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /c/Users/abc/.ssh/id_rsa Your public key has been saved in /c/Users/abc/.ssh/id_rsa.pub The key fingerprint is: SHA256:aeNMB/hP2yiH/Dka2jK9BJciSgA8yKKLlKXX8oei7J0 jallenkwong@163.com The key\'s randomart image is: +---[RSA 3072]----+ |= | |++ . . | |+ = . . . | |.= o . . + | |o.o + + S o | |o. o + @ * + | |. o . ..O = . | | o. . o+.=.. | |.. E .o+oo. | +----[SHA256]-----+ abc@DESKTOP-R85C9HV MINGW64 ~ $ ls -a .ssh ./ ../ id_rsa id_rsa.pub. # 生成公钥 abc@DESKTOP-R85C9HV MINGW64 ~ $ cat .ssh/id_rsa.pub ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQChXy8I20br9nu4GCNeZSDkozfHvlRFpXiImYnVlHVvyvFgjct1/zMeJgot1J6+yArSJbA4TMlS9nG8owCE6C9yqhPceDlKtQbARKS2pW7IyP5OhIbcqVmWmvvd+IMmsWrWgK9S6jqp0xSqv3Z3mlcHWOAK18oOe6wF6b3SyGgCP/EcwwUGX4NG7jukhK+In9joSuAxchEg/Ba2/LVjqtfBn3hXZx/SEt+rJ0UVPIT/eEe32HflrzokNcO7l0IgyLntv5QEAsSC2hiGxrM6vF5tQpb12MVZnt1/01ytP0ruQn2TVTI96vsOAa3Cj98dAH2Z0JdqZUSVBw+o3AqXP5oeF1JWkDHZzHQjLgu741wnUZn+vVXFBu1xQyApbvH7y7cNbq8PaxU+SyZbVXbq3RwTywJsyFQvsIOM5l0tG7jUD0QAd6dP3rcNODjFTaafJaBsR9aMwvKQd/d7H+BdwFPYOFp8HB2JAzhRpvlS4Av9MCIe0474wZ0T2QOJmcs7mns= abc@123.com

将公钥添加到github中即可不用输入Github账号密码便可推送。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwdpwp.html