Git相关命令
$ cat read.txt // 打开文本,查看文本内的内容
$ git log // 获取提交日志 (你看到的一大串类似feb1f7c986835a7f05...的是commit id(版本号))
$ git log --pretty=oneline // 干净版的 获取commit 日志,去掉时间 作者什么的
$ git reset --hard HEAD^ // 返回到上一个版本
$ git reset --hard feb1f7c// 返回到指定的版本 feb1f7c换成版本号commit id,只取前面几位就行
$ git reflog // 查看命令历史,所有提交过的,和返回到某一版本的的记录
$ git diff // 改动前后文件对比看改了什么内容
$ git diff --staged // 工作区和暂存区对比
$ git diff HEAD // 工作区和版本库对比
$ git checkout -- file // 可以丢弃工作区的修改
$ git reset HEAD read.txt // 暂存区的修改撤销掉
$ git rm test.txt // 从版本库中删除该文件
$ git remote add origin github地址 // 要关联一个远程库,创建github的时候会有
$ git push -u origin master // 第一次推送master分支的所有内容
$ git push origin master // 第一次推送要加-u 后面就直接用
$ git pull <远程主机名> <远程分支名>:<本地分支名>
$ git checkout -b dev // git checkout命令加上-b参数表示创建并切换到dev分支
$ git branch -d dev // 删除dev分支
$ git branch dev // 创建dev分支
$ git checkout dev // 切换分支,到dev分支
$ git branch // 命令会列出所有分支,当前分支前面会标一个*号
$ git merge dev // 用于合并指定分支到当前分支, 把dev(指定分支)0分支合并到master(当前所在分支)
$ git stash // 隐藏当前工作区,用于修复BUG,停止当前工作修复完BUG后恢复工作
$ git stash list // 查看隐藏工作的列表
$ git stash pop // 取出隐藏的工作内容 继续工作
$ git stash apply stash@{0} // 取出隐藏了的列表中指定的工作内容
安装Git
- 在Windows上安装Git (我是使用的Windows)
在Windows上使用Git,可以从Git官网直接下载 https://git-scm.com/downloads,直接下一步下一步安装
安装完成后,在开始菜单里找到“Git”->“Git Bash”,蹦出一个类似命令行窗口的东西,就说明Git安装成功!
安装完成后,还需要最后一步设置,在命令行输入:
$ git config --global user.name "Your Name" // 名字
$ git config --global user.email "email@example.com" // 邮箱
创建版本库
什么是版本库呢?版本库又名仓库,英文名repository,你可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改、删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以“还原”。
- 创建一个版本库非常简单,首先,选择一个合适的地方,创建一个空目录:
如果你使用Windows系统,为了避免遇到各种莫名其妙的问题,请确保目录名(包括父目录)不包含中文。
$ mkdir learngit // 创建一个目录 learngit
$ cd learngit // 进入目录
$ pwd // 目录的绝对路径
/Users/michael/learngi
- 通过git init命令把这个目录变成Git可以管理的仓库:
$ git init
Initialized empty Git repository in /Users/michael/learngit/.git/
一般会出现一个.git目录,如果你没有看到.git目录,那是因为这个目录默认是隐藏的,用ls -ah命令就可以看见。
建议你下载Notepad++代替记事本,不但功能强大,而且免费!记得把Notepad++的默认编码设置为UTF-8 without BOM即可
使用Git
- 用命令git add告诉Git,把文件添加到仓库:
$ git add readme.txt // 添加一个文件 用得最多
$ git add * // 如果第一次添加,把整个项目添加进去就直接*号
$ git add file_1 file_2 file_3 // git 一次 add 多个文件的方法
- 用命令git commit告诉Git,把文件提交到仓库:
$ git commit -m "wrote a readme file" // 引号里面是备注
连接远程库配置(码云)
ssh-keygen -t rsa -C "xxxxx@xxxxx.com" (XXX为邮箱账号)
按照提示完成三次回车,即可生成 ssh key。通过查看 ~/.ssh/id_rsa.pub 文件内容,获取到你的 public key
cat ~/.ssh/id_rsa.pub
image.png
复制生成后的 ssh key,通过仓库主页 「管理」->「部署公钥管理」->「添加部署公钥」 ,添加生成的 public key 添加到仓库中。
image.png
最后添加主机信任:
ssh -T git@gitee.com
首次使用需要确认并添加主机到本机SSH可信列表。
若返回 Hi XXX! You've successfully authenticated, but Gitee.com does not provide shell access. 内容,则证明添加成功。
连接远程库
1.git remote add把它和码云的远程库关联:
git remote add origin git@gitee.com:nick/learngit.git(最后这里是码云仓库的地址)
2.git remote -v查看远程库信息:
git remote -v
origin git@github.com:nick/learngit.git (fetch)
origin git@github.com:nick/learngit.git (push)
3.删除已有的远程库:
git remote rm origin
推送文件到远程库
推送到码云,使用命令:
git push origin master
第一次推送会出现错误得先pull到本地以后再push到远程仓库:
git pull 失败 ,提示:`fatal: refusing to [merge](https://www.centos.bz/tag/merge/) unrelated histories`
使用这个强制的方法
git pull origin master --allow-unrelated-histories
后面加上 `--allow-unrelated-histories` , 把两段不相干的 分支进行强行合并
再次: git add git commit -m '强行合并后提交'
完了再push到远程仓库就可以了
git push origin master
网友评论