git-operate

Git相关操作

1.获取Git仓库的两种方式S

①将尚未进行版本控制的本地目录转换为Git仓库

在项目根目录中打开命令行,输入以下命令:

git init

②从其他服务器克隆一个已存在的Git仓库

2.工作区中文件的四种状态以及操作状态

  • 已被Git管理

    1. 未修改(Unmodified):工作区中文件的内容和Git仓库中文件的内容保持一致
    2. 已修改(Modified):工作区中文件的内容和Git仓库中文件的内容保持不一致
    3. 已暂存(Staged):工作区中被修改的文件已被放到暂存区,准备将修改后的文件保存到Git仓库中
  • 未被Git管理

    1. 未跟踪(Untracked):不被Git所管理的文件
  • 跟踪新文件

    git add filename
    
  • 提交更新

    git commit -m "更改说明"
    

3.检查文件的状态

git status || git status -s(以精简的方式显示文件状态) 与 git status --short 等价

4.修改已提交的文件并提交

第一步
git add filename
git add .(放所有文件)

git add的三个功效:

  • 可以用它开始跟踪新文件
  • 把已跟踪的、且已修改的文件放到暂存区
  • 把有冲突的文件标记为已解决状态
第二步
git commit -m “提交说明”
git commit -a -m "提交说明" -a将所有已经跟踪的文件暂存起来一并提交,从而跳过git add步骤

5.撤销对文件的修改

git checkout -- filename

撤销操作的本质:用Git仓库中保存的文件,覆盖工作区中指定的文件

6.取消暂存的文件

git reset HEAD "要移除的文件名称"

7.移除文件

  • 从Git仓库和工作区中同时移除对应的文件

    git rm -f failname
    
  • 只从Git仓库中移除指定的文件,但保留工作区中对应的文件

    git rm --cached failname
    

8.忽略文件

创建一个名为.gitignore的配置文件,列出要忽略的文件的匹配模式

  • 以 # 开头的是注释
  • 以 / 结尾的是目录
  • 以 / 开头防止递归
  • 以 !开头表示取反
  • 可以使用glob模式进行文件和文件夹的匹配(glob 指简化了的正则表达式)

9.查看提交历史以及回退到指定的版本

git log #按时间先后顺序列出所有的提交历史,最近的提交排在最上面
git log -2 #只展示最新的两条提交历史,数字可以按需进行填写
git log -2 --pretty=oneline #在一行上展示最近两条提交历史的消息
git log -2 --pretty=format:"%h | %an | %ar | %s" #在一行上展示最近两条提交历史的消息,并自定义输出的格式。%h 提交的简写哈希值  %an作者名字  %ar作者修订日期,按多久以前的方式显示  %s提交说明
git log --pretty=oneline #在一行上展示所有的提交历史
git reset --hard <CommitID> #根据指定的提交 ID 跳转到指定版本
git reflog --pretty=oneline #在旧版本中,查看命令操作的历史

10.Git与Github

远程仓库的两种访问方式:

  • Https:零配置;但是每次访问仓库时,需要重复输入Github的账号和密码才能访问成功
  • SSH:需要进行额外的配置;但是配置成功后,每次访问仓库时,不需要重复输入Github的账号和密码

基于HTTPS将本地仓库上传到Github

git remote add originRepositoryName https://......
git push -u originRepositoryName master

生成 SSH key

ssh-keygen -t rsa -b 4096 -C "your_email@email.com"
//就会在C:\Users\用户名文件夹\.ssh目录中生成id_rsa和id_rsa.pub两个文件

检查Github的SSH key是否配置成功

ssh -T git@github.com

基于 SSH 将本地仓库上传到Github

git remote add originRepositoryName git@github......
git push -u originRepositoryName master

11.git 分支操作

  • 查看当前仓库的所有的分支列表
git branch
  • 创建一个新分支
git branch 分支名称
  • 切换分支
git checkout 分支名称
  • 创建一个分支并立即切换到分支上
git checkout -b 分支名称
  • 合并分支
git checkout master # 先切换到 master 主分支上
git merge BranchName
  • 删除分支
git branch -d 分支名称
  • 遇到冲突时的分支合并

    1. 手动解决,解决后重新提交
  • 将本地分支推送到远程仓库

git push -u 远程仓库别名 本地分支名称:远程分支名称
  • 查看远程仓库中所有的分支列表
git remote show 远程仓库名称
  • 跟踪远程分支
# 从远程仓库中,把对应的远程分支下载到本地仓库,保持本地分支和远程分支名称相同
git checkout 远程分支名称
# 从远程仓库中,把对应的远程分支下载到本地仓库,并把下载的本地分支进行重命名
git checkout -b 本地分支名称 远程仓库名称/远程分支名称
  • 拉取远程分支的最新的代码
git pull
  • 删除远程分支
git push 远程仓库名称 --delete 远程分支名称
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值