Contents
- 1 使用git准备工作
- 2 基本知识
- 3 git 基本操作命令
- 3.1 git 操作实例
- 4 git 上传项目
- 5 git 操作得一些问题
- 6 参考资料
使用git准备工作
第一步:刚下载安装的 git
都需要先配置用户名和邮箱:
git config --global user.name "HarleysZhang"
git config --global user.email "ZHG5200211@outlook.com"
第二步:要想从 github
或者 gitlab
上实现 clone/pull/push
等操作,首先就得在本地创建 SSH Key
文件,在用户主目录下,查看是否有 .ssh
目录,看这个目录下是否有 id_rsa
和 id_rsa.pub
这两个文件,如果没有,则需要打开 shell(windows 系统打开Git Bash),在命令行中输入:
ssh-keygen -t rsa -C "youremail@example.com"
SSH 概述: SSH(Secure Shell) 是一种网络协议,用于计算机之间的加密登录。如果一个用户从本地计算机,使用SSH协议登录另一台远程计算机,我们就可以认为,这种登录是安全的,即使被中途截获,密码也不会泄露,原因在于它采用了非对称加密技术 (RSA) 加密了所有传输的数据。
第三步:登录 Github
,打开 "Account settings”
,“SSH Keys”页面,然后,点“Add SSH Key”,填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容,点“Add Key”,就可以看到已经添加的 Key
了。之后你就可以玩转 Git
了。
为什么 GitHub 需要SSH Key呢? 因为 GitHub 需要识别出你推送的提交确实是你推送的,而不是别人冒充的,而Git 支持 SSH 协议,所以,GitHub 只要知道了你的公钥,就可以确认只有你自己才能推送。
基本知识
本地仓库由 git 维护的三棵“树”组成。
- 第一个是
工作目录
,它持有实际文件; - 第二个是
暂存区(Index)
,它像个缓存区域,临时保存仓库做的改动; - 最后是
Head
,它指向我们的最后一次提交的结果。
对于分支
来说,在创建仓库的时候,master
是”默认的“分支。一般在项目中,要先在其他分支上进行开发,完成后再将它们合并到主分支上 master
上。
git 基本操作命令
代码语言:javascript复制git init # 创建新的git仓库
git status # 查看状态
git branch # 查看分支
git branch dev # 创建dev分支
git branch -d dev # 删除 dev 分支
git branch -a # 查看远程分支
git checkout -b dev # 创建dev分支,并切换到dev分支
git checkout master # 切换到master分支
git add filename # 添加指定文件,把当前文件放入暂存区域
git add . # 表示添加新文件和编辑过的文件不包括删除的文件
git add -A # 表示添加所有内容
git commit # 给暂存区域生成快照并提交
git reset -- files # 用来撤销最后一次 git add files,也可以用 git reset 撤销所有暂存区域文件
git push origin master # 推送改动到master分支(前提是已经clone了现有仓库)
git remote add origin # 没有克隆现有仓库,想仓库连接到某个远程服务器
git pull # 更新本地仓库到最新版本(多人合作的项目),以在我们的工作目录中 获取(fetch) 并 合并(merge) 远端的改动
git diff # 查看两个分支差异
git diff # 查看已修改的工作文档但是尚未写入缓冲的改动
git rm # 用于简单的从工作目录中手工删除文件
git rm -f # 删除已经修改过的并且放入暂存区域的文件,必须使用强制删除选项 -f
git mv # 用于移动或重命名一个文件、目录、软链接
git log # 列出历史提交记录
git 操作实例
1,将其他分支更改的操作提交到主分支:
代码语言:javascript复制git checkout master # 切换回master分支(当前分支为dev)
git merge dev # 合并(有合并冲突的话得手动更改文件)
2,git
如何回退版本:
git log # 查看历史版本
git reset -hard [版本id] # 恢复到历史版本
git push -f -u origin master # 把修改推送到远程服务器
git 上传项目
在前面的准备工作完成后,你首先可以在 gitlab/github
新建仓库后,这样会得到一个仓库地址,这时候你可以把本地的文件夹上传到这个仓库地址,具体操作步骤命令如下:
# 推送现有文件夹到远程仓库地址
cd existing_folder
git init
git remote add origin "你的仓库地址"
git add .
git commit -m "Initial commit"
git push -u origin master
其他上传方式命令如下图:
git 操作得一些问题
1,git 解决 fatal: ‘origin’ does not appear to be a git repository问题。 控制台输入:
代码语言:javascript复制git remote add origin git@github.com:xxse/xx.git
2,推送本地新创建分支到远程仓库新分支:
代码语言:javascript复制git push origin local_branch:remote_branch
参考资料
- Git 教程
- 图解Git
- git documentation
- Git 使用简明手册