Git使用方法总结


本文值讲 Git 的使用,至于安装和SSH秘钥的配置一概不涉及。

1. Git 基本命令

Git Bash 的使用与 Linux命令相似。

  1. cd:改变目录
  2. cd..:回退到上一个目录,直接 cd 进入默认目录
  3. pwd:显示当前所在的目录路径
  4. ls(ll):都是列出当前目录中的所有文件,只不过 ll 列出的内容更详细
  5. touch:新建一个文件,例如:touch index.js 就会在当前目录新建一个index.js的文件
  6. rm:删除一个文件,rm index.js 就会把index.js删除
  7. mkdir:新建一个目录
  8. rm -r:删除一个文件夹,rm -r src 就是删除src文件夹(不要在Linux里轻易尝试 rm -rf /,我试过哈哈哈哈哈,突然啥都没了,根目录都没了)
  9. mv:移动文件 例如:mv index.js src 就表示要把index.js文件移动到src文件夹里
  10. reset:表示重新初始化终端、清屏
  11. clear:清屏
  12. history:查看历史命令
  13. help:帮助
  14. exit:退出

2. Git 配置

git config --system --list:查看系统config
git config --global --list:查看当前用户配置

git config --global user.name "gty":设置用户名
git config --global user.email 1157836448mr@163.com:设置用户邮箱

3. Git基本原理

Git本地有三个工作区域:工作目录(Working Directory)、暂存区(Stage/Index)、资源库(Repository或Git Directory)。如果在加上远程的git仓库(Remote Directory)就可以分为四个工作区域。
在这里插入图片描述

  • workspace:工作区,就是你平时存放项目代码的地方
  • stage:暂存区,用于临时存放你的改动,事实上他只是一个文件,保存即将提交到文件列表信息
  • repository:本地仓库区,就是安全存放数据的地方,这里面有你提交到所有版本的数据,其中head指向最新放入仓库的版本
  • remote:远程仓库区,托管代码的服务器,可以简单的认为是你项目组中的一台电脑用于远程数据交换
    各命令效果范围

4. 项目搭建

4.1 搭建本地仓库

使用 git init 命令。

4.2 克隆远程仓库

git clone [url]:克隆远程仓库。

5. 文件状态

使用 git status [filename]:指定参数时查看指定文件状态,否则查看全部文件状态。

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

6. 提交时忽略一些文件

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

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

7. SSH配置

配置的 ssh 私钥公钥都会存放在 C:\Users\ASUS\.ssh 目录下,生成时需要删除目录下的内容。

  1. ssh-keygen -t rsa -C '邮箱' ,一直按Enter,生成密钥;
  2. 将公钥文件 id_rsa.pub 中的内容复制到 GitHub或者gitee的ssh配置那里。

8. 分支操作

命令含义
git branch列出所有本地分支
git branch -r列出所有远程仓库的分支
git checkout [branch-name]切换分支
git checkout -b [branch-name]新建一个分支,并切换到该分支
git merge [brach]合并分支到当前分支
git branch -d [branch-name]删除分支
git push origin --delete [branch-name]删除远程分支

master 分支应该是非常稳定,是用来发不新版本的,一般不在上面进行工作。

9. 推送拉取

git remote add name [url]:为仓库的URL取一个别名,别名为 name
git remote -v:查看当前别名

9.1 推送步骤

  1. git init
  2. git add .,如果是添加全部文件,就是后面加 . ,单个文件就加文件名
  3. git commit -m "message"
  4. git remote add nick-name [仓库] 给仓库取别名
  5. git push -u nick-name master 将本地的 master 分支推送到 origin 主机的 master 分支。

9.2 拉取步骤

git pull nick-name master 将远程主机nick-name的分支master拉取过来
如果之前有文件,则必须pull才能push

9.3 删除文件

  1. 在本地中输入 git rm [文件名] 对本地仓库的文件进行删除,文件夹的话使用 git rm -f [文件夹名]
  2. 使用 git commit -m "message" 进行提交
  3. 使用 git push -u nick-name master 进行提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值