BLOG

个人博客,记录学习与生活

git学习笔记

Published Nov. 16, 2019, 11:55 a.m. by kkk

本地仓库常用操作

初始化全局信息

git config --global user.name "username" # 更改用户名 或 设置用户名
git config --global user.email "emailaddress" # 更改用户邮件地址 或 设置用户邮件地址
git config user.name    # 查看用户名
git config user.email   # 查看用户邮件地址

创建版本库

版本库:保存某群文件历史记录的仓库,可以利用版本库将文件恢复到任意想恢复的历史版本。版本库实际上是一个隐藏文件夹,文件夹名为.git

进入想创建版本库的文件夹,打开该文件夹目录

git init

或者想在某处直接创建一个文件夹并建立版本库

mkdir xx(文件夹名,精良用英文)
cd xx
pwd
git init

添加文件到Git版本库

git add readme.txt # or some file name else,只是将本文存在stage(暂存区)
git commit -m "append a readme file"  # 将文件提交至版本库,后面的字符串为提交信息

查看版本中的状况并比较差别

git status
git diff readme.txt   # 可返回版本库中与目前文件夹内readme.txt文件的差别

版本回退

git log  # 查看版本记录
git log --pretty=oneline
# 相对版本回退
git reset --hard HEAD^  # HEAD后跟上几个^就是向前回退多少个版本(相对次数回退),如果次数比较大,比如向前回退100个版本,写HEAD~100
# 绝对版本回退
git reset --hard 07e0   # 根据git log显示的版本记录,每个记录有一个哈希数字,找到对应版本哈希数字的前x位,用在此处,如07e0
git reflog  # 这个指令记录了每一次版本相关的操作

工作区与暂存区

  • 工作区(Working Directory):.git所在的目录下,除了.git之外的其他文件都是在工作区内
  • 版本库(Repository):.git目录内所存的记录,有暂存区和Git为我们自动创建的第一个分支master,以及指向master的一个指针叫HEAD。
  • stage(或者叫index)的暂存区:用add命令放进来文件的位置

经过add添加的文件只会添加到stage,需要再次操作(commit,即提交)才能放到版本库,相当于需要二次确认操作才能完成版本添加。

git diff  # 如果不加参数则默认比较工作区与暂存区
git diff --cached [<path>...] # 比较暂存区与最新版本库
git diff HEAD [<path>...] # 比较工作区和最新版本库

撤销修改

对于存到暂存区的文件,如果不想提交到版本库,可以尝试撤销。或者工作区的文件修改后,希望撤销该修改。

git checkout -- test.txt  # --不能省略,后面后加具体文件或者正则式匹配,作用是撤销工作区文件修改
git reset HEAD # 对于已经存到暂存区的文件,根据git status的提示进行撤销

对于已经存在版本库的版本文件,可以利用版本回退进行处理。

文件删除

文件删除命令同Linux下操作(毕竟Linux内核和Git都是一个人做出来的)

rm readme.md

远程仓库常用操作

首先是本地SSH的创建和与远程仓库(如GitHub、阿里Code等)账号的SSH绑定(具体百度)

连接远程仓库

在远程创建一个空仓库(不含readme文件)后,通过以下指令进行连接

git remote add origin xxxx  # 后面的xxxx为具体网址,http或者ssh,origin为在本地自定义的仓库名

下载或拉取远程仓库文件

如果远程仓库已经有文件,则只能先下载下来,或者拉取下来

git clone xxxx
git pull origin master # 如果报错可以在后面加上参数--allow-unrelated-histories

将本地文件推送到远程

git push -u origin master  # -u是指定后面的的仓库名和分支名为默认,之后便可直接用git push

与远程仓库解除绑定

git remote remove origin

修改绑定的远程库

git remote set-url origin xxxx

分支管理

git branch  # 查看分支,显示结果中前面标有*号的是目前所处分支
git -b checkout dev  # 增加并切换到名为dev的分支
git merge dev # 合并dev分支到目前所处的分支(若出现冲突需要先根据提示进行修改)
git branch -d dev  # 删除dev分支
git log --graph --pretty=oneline --abbrev-commit  # 图形化分支显示

Share this post
< Pre: BeautifulSoup库笔记 Pos: 方差分析 >
No comments
Similar posts
There are no similar posts yet.
Add a new comment