0


Git入门使用笔记

Git学习视频: 【狂神说Java】Git最新教程通俗易懂_哔哩哔哩_bilibili

版本控制概念:开发过程时 管理文件、工程,查看更改历史记录,备份以及回退先前版本的一种技术。

引入情景

个人本地文档版本: 项目1.doc

                             项目(1).doc

                             最终项目.doc

                             最终项目(1).doc

                             最终项目(2).doc      

                             辞职信.doc

                             遗书.docx

由此引入代码项目版本控制工具 : Git

版本控制分类

    1.本地版本控制

    2.集中版本控制        SVN

    3.分布式版本控制     Git

软件下载

Git 官网:Git 下载对应版本即可

关于Git项

Git Bash:Unix与Linux风格的命令行,使用最多,推荐最多

Git CMD:Windows风格的命令行

Git GUI:图形界面的Git,不建议初学者使用,尽量先熟悉常用命令

**Git FAQS: **git常见问题答疑页面

Git Release Notes: git 发行版本的说明页面

Bash常用命令

#Git Bash 常用命令

cd : 改变目录
cd .. 回退到上一个目录,直接cd进入默认目录
pwd : 显示当前所在的目录路径
ls : 都是列出当前目录中的所有文件
touch :新建一个文件 如touch index.js就会在当前目录下新建一个index.js
rm :删除一个文件, rm index.js就会把index.js文件删除
mkdir :新建一个目录,就是新建一个文件夹
rm -r 删除一个文件夹,rm -r src 删除src目录
mv 移动文件, mv index.html src index.html 是我们要移动的文件,src是目标文件夹
reset 重新初始化终端/清屏
clear 清屏
history 查看命令历史
help 帮助
exit 退出
# 表示注释        

Git配置

#git配置查看

git config -l

#查看系统config

git config  --system --list

#git个人用户配置global配置

git config --global --list

Git用户配置文件路径

    C:\Users\用户名\ .gitconfig

    ![](https://img-blog.csdnimg.cn/direct/dc5739f0bfad40d5a8dc3ed5189bd165.png)

    可以在此文件内进行用户名和邮箱配置

           ![](https://img-blog.csdnimg.cn/direct/ed183091aee447b781f36a9d8e00a736.png)

    或命令行配置  

git config --global user.name "user"  #名称
git config --global user.email [email protected]   #邮箱

Git基本理论

    工作区域:

                    Remote Directory 远程的git仓库 (代码托管服务器)

                    Repository 资源库 (本地仓库,安全存储数据)HEAD指向最新放入仓库的版本

                    Stage/Index 暂存区 (临时存储代码)

                    Working Directory 工作目录 (平时存储代码)

     引用狂神大大的图

                            ![](https://img-blog.csdnimg.cn/direct/bb7f87f7a66f4ef6b65ba7f4769cc48e.png)

工作流程

    git的工作流程一般是这样的:

    1、在工作目录中添加、修改文件;

    2、将需要进行版本管理的文件放入暂存区域;

    3、将暂存区域的文件提交到git仓库。

git管理文件状态

            已修改(modified),已暂存(staged),已提交(committed)

git项目搭建【日常使用】

本地仓库搭建:
# 在当前目录新建一个Git代码库
$ git init
克隆远程仓库:

# 克隆一个项目和它的整个代码历史(版本信息)
$ git clone [url]

文件状态

  • Untracked: 未跟踪, 此文件在文件夹中, 但并没有加入到git库, 不参与版本控制. 通过git add 状态变为Staged.
  • Unmodify: 文件已经入库, 未修改, 即版本库中的文件快照内容与文件夹中完全一致. 这种类型的文件有两种去处, 如果它被修改, 而变为Modified. 如果使用git rm移出版本库, 则成为Untracked文件
  • Modified: 文件已修改, 仅仅是修改, 并没有进行其他的操作. 这个文件也有两个去处, 通过git add可进入暂存staged状态, 使用git checkout 则丢弃修改过, 返回到unmodify状态, 这个git checkout即从库中取出文件, 覆盖当前修改 !
  • Staged: 暂存状态. 执行git commit则将修改同步到库中, 这时库中的文件和本地文件又变为一致, 文件为Unmodify状态. 执行git reset HEAD filename取消暂存, 文件状态为Modified
如何查看文件状态
#查看指定文件状态
git status [filename]

#查看所有文件状态
git status

上传操作代码

# git add .                  添加所有文件到暂存区
# git commit -m "消息内容"    提交暂存区中的内容到本地仓库 -m 提交信息
# git push                   上传到远程仓库

文件忽略(不加入版本控制)

在主目录下建立".gitignore"文件,此文件有如下规则:

  1. 忽略文件中的空行或以井号(#)开始的行将会被忽略。
  2. 可以使用Linux通配符。例如:星号(*)代表任意多个字符,问号(?)代表一个字符,方括号([abc])代表可选字符范围,大括号({string1,string2,...})代表可选的字符串等。
  3. 如果名称的最前面有一个感叹号(!),表示例外规则,将不被忽略。
  4. 如果名称的最前面是一个路径分隔符(/),表示要忽略的文件在此目录下,而子目录中的文件不忽略。
  5. 如果名称的最后面是一个路径分隔符(/),表示要忽略的是此目录下该名称的子目录,而非文件(默认文件或目录都忽略)。
*.txt        #忽略所有 .txt结尾的文件,这样的话上传就不会被选中!
!lib.txt     #但lib.txt除外
/temp        #仅忽略项目根目录下的TODO文件,不包括其它目录temp
build/       #忽略build/目录下的所有文件
doc/*.txt    #会忽略 doc/notes.txt 但不包括 doc/server/arch.txt

#注释后方内容

关于码云Gitee

    SSH公钥 实现免密码登录
# 进入 C:\Users\Administrator\.ssh 目录
# 生成公钥
ssh-keygen
ssh-keygen -t rsa #-t rsa 加密算法

了解更多: ssh-keygen -t rsa详解-CSDN博客

Git绑定

    将远程git文件目录拷贝到项目中即可!

Git分支

    分支概念:平行宇宙 

    难点:平行宇宙重合时发生的冲突(合并分支)

    分支常用命令
# 列出所有本地分支
git branch

# 列出所有远程分支
git branch -r

# 新建一个分支,但依然停留在当前分支
git branch [branch-name]

# 新建一个分支,并切换到该分支
git checkout -b [branch]

# 合并指定分支到当前分支
$ git merge [branch]

# 删除分支
$ git branch -d [branch-name]

# 删除远程分支
$ git push origin --delete [branch-name]
$ git branch -dr [remote/branch]

FAQ(来自b站用户)

解决用ssh-key后仍须输入密码的问题
    用户:鸡密啊
     1、使用ssh方式克隆 git clone [email protected]:Name/project.git
     就是说,在项目克隆/下载处,选择ssh方式的下载地址
     2、如果你已经用https方式克隆了仓库,不必删除仓库重新克隆,只需将当前项目中的         .git/config文件中的
     url = https://gitee.com/Name/project.git
     修改为
     url = [email protected]:Name/project.git
     再次提交就不需要密码了!
标签: git 笔记

本文转载自: https://blog.csdn.net/VoiceMartha/article/details/136688115
版权归原作者 王张喆WzZ 所有, 如有侵权,请联系我们删除。

“Git入门使用笔记”的评论:

还没有评论