Git是分布式版本控制系统,即管理中心可分布,版本库不局限于一台中央服务器,每个参与者电脑都是完整的版本库
设置版本库
Windows系统为了避免遇到莫名其妙的问题,目录名(包括父目录)需不包含中文
git init
没有看到.git目录,那是因为这个目录默认是隐藏的,用ls -ah命令就可以看见
Git账户:
Git安装完成后,设置账户
git config --global user.name "Your name"
git config --global user.email "email@example.com"
--global参数表示该机器上所有仓库的操作都经由这个账户
对某个仓库指定账户
git config user.name "github Name"
git config user.email "[github@xx.com](mailto:gitlab@xx.com)"
git config --list
git config --list查看当前配置, 在当前项目下面查看的配置是全局配置+当前项目的配置, 使用的时候会优先使用当前项目的配置
生成ssh key:
ssh-keygen -t rsa -C 'mail@gmail.com'
生成key值时,输入文件名,可生成多个key值,链接多个账户
工作区和版本库
image本地资源管理器相当于工作区,.git文件夹即版本库,当中又区分暂存区和分支线
add每次只能操作一个文件,commit一次可提交多个文件
git diff:未add前,查看文件的修改项
git add:将文件添加到暂存区中
git commit -m "xxxx":提交暂存区中的文件到仓库,-m为提交注释
git status:查看仓库当前状态
git push:将本地项目提交到远程仓库GitHub。
查看提交记录
git log:查看提交记录
git log --pretty=oneline:逐行显示提交记录
撤销工作区修改
git checkout -- file.xx:file指文件名
版本更替
git reset --hard HEAD^:回退至上一个版本,^代表一个版本
git reset --hard commit_id:版本穿梭,ID不必写全,可匹配就行,5位...
git reset HEAD file.xx:撤销暂存区修改
删除文件
rm filename:删除文件&&删除不可commit提交--- git commit -am "XXX"
git rm filename:删除文件,对象只能是文件&&删除操作可commit提交
git rm -r/rf filename:-r 删除指定目录下所有文件和子目录;-f 强制删除文件或目录
查看提交日志
git log
git log --pretty=online
git diff HEAD -- filename.xx:查看对应文件工作区和版本库中最新版本区别(只能查看文件)
远程仓库
git remote add origin git@github.com:michaelliao/learngit.git:将本地仓库和远程关联
git clone xxx:拉取远程仓库至本地
git push origin master:推送修改至远程
添加验证私钥
ssh -v [git@github.com](mailto:git@github.com)
eval $(ssh-agent): 提示 "Could not open a connection to your authentication agent."
ssh-add ~/.ssh/<private_key_file>:添加私钥
网友评论