Loading

git

一、git的基本概念

0
workingspace 工作区:平时存放项目或是代码的地方。
stage/index 暂存区:用于临时存放改动,只是一个文件(存在于版本库),保存即将提交到文件列表信息,简而言之暂存区保存的是映射关系。详细描述
repository 仓库区:安全存放数据的位置,这里有提交的所有版本的数据。(HEAD指向最新放入仓库的版本)
remote 远程仓库:托管代码的服务器,用于项目的远程数据交换。
 
0
本地中的 .git 文件夹下为git的版本库,一般不需要随意改动,只通过命令来操作。
 

二、git工作区文件状态以及设置文件忽略

# 从网络上克隆一个git库
git clone [url]
# 在本地当前目录下初始化一个git库
git init 
# 查看文件状态
git status [filename] #查看某个文件状态
git status # 查看所有文件状态

  • untracked:未跟踪状态,文件在git项目文件夹中,但并没有加入到git库,不参与版本控制。通过git add将状态变为staged。
  • unmodify:文件入库但未修改,即版本库中的文件快照内容与工作区完全一致。如果此时被修改,则状态变为modified,如果使用git rm移出版本库,则成为unstracked状态
  • modified:文件已经修改但未进行其他操作。如果使用git add可进入暂存区staged状态,使用git checkout则丢弃修改,返回到unmodify状态。(git checkout从库中取出文件,覆盖当前修改)
  • staged:执行git commit则将修改同步到库中,这时库中的文件和工作区的文件又变为一致,文件状态为unmodify状态。执行git reset HEAD filename取消暂存,文件为modified状态。
注:当一个文件直接粘贴到工作区或是刚刚才创建(指git库中没有此文件),git add后直接进入staged状态。
 

设置文件忽略
将不加入版本控制的文件设置成忽略,在根目录下创建‘.gitignore'文件,以下为添加忽略规则:
  1. 空行或以#开头的行将被忽略。
  2. 可以使用linux通配符。
  3. 如果名称前有(!),表示意外规则,不被忽略。
  4. 如果名称前有一个路径分隔符(/),表示要忽略的文件在此目录下,而子目录中的文件不忽略。
  5. 如果名称后有一个路径分隔符(/),表示要忽略的是此目录下该名称的子目录,而非文件。
 

三、配置用户名和密码

# 生成连接远程(github或是码云等)的密钥
ssh-keygen -t rsa -C "email@example.com"

注:登陆github之后,点击右上角下拉菜单---点击setting---在左侧导航栏点击SSH and GPG keys---点击New SSH keys---title根据情况自己填写,key为复制本地的公钥内容。(windows下公钥保存路径默认为C:\Users\xxx\.ssh)
 

四、使用git命令管理版本

git add <filename>  # 添加文件到缓存区
git add .   # 添加所有文件到缓存区
git commit -m <message>    # 提交一次变更到本地git仓库
git log    #查看变更日志
git reset <filename>   # 将某文件从暂存区退回

git reset <commitID> --hard  # 将版本变更为指定版本,并且不保留变更
git reset <commitID> --soft  # 将版本变更为指定版本,并且保留变更(staged)
git reset <commitID> --mixed  # 将版本变更为某个版本,并且保留变更(modified)
注:commitID由git log命令获得的前七位哈希值

git checkout -b <name> <template>
# name:新分支名 template:模板名

git branch   # 查看所有分支
git checkout <branchName>  # 切换分支
git merge <branchName>   # 合并当前分支和指定分支的变更

git push   # 将当前分支推送至远端
git push --set-upstream origin <branchName> # 将当前分支推送至远端并设置远端为上流分支
git fetch   # 拉取远端仓库分支
git checkout -b <name> origin <template>  # 以远端分支为模板创建新分支

git rebase    # 将新分支创建之后提交之前,两分支同时发生的改变按照时间顺序排列
 
参考:
 
 
posted @ 2022-04-04 23:17  国家三级保护废物  阅读(62)  评论(0编辑  收藏  举报