git常用指令及环境搭配

107 阅读6分钟

一,git环境搭配

注册码云:到gitee.com网站,注册账号

安装git,一直下一步安装即可,如果不想安装到C盘,可以把C换成D

配置用户名和邮箱: 打开终端,依次执行下面两个命令 git config --global user.name "用户名" git config --global user.email "邮箱"

配置ssh秘钥对:

  1. 执行命令创建秘钥对 ssh-keygen -t rsa -C "你的邮箱" 按4次或更多回车,执行完毕,这样秘钥对就创建好了

  2. 找到公钥 windows:C:/用户/你的用户名/.ssh/id_rsa.pub mac: 你的用户名这个文件夹,按 Command + Shift + . 显示隐藏文件,就会看到 .ssh 文件夹

  3. 把公钥打开,复制里面全部的内容。 到gitee.com网站,右上角头像 --> 设置 --> SSH公钥(左侧边栏)--> 添加公钥

  4. 执行 ssh -T git@gitee.com 回车执行命令,检测ssh的配置情况 你可能会看到一个提示:Are you sure you want to continue connecting (yes/no/[fingerprint])? 输入 yes 回车 如果看到 Hi: 曲佳轩!说明配置成功

  5. 配置一次,只要电脑不换,不重置系统,可以用一辈子

二,git常用指令

cd .. 切换到上层目录

cd /                   直接切换到根目录

按 tab 键,可以自动补全

清屏(cmd--cls)(powershell--clear)

按 ↑ ↓键找到历史命令

查看提交日志

  • git log
  • git log --oneline
  • git log --reflog 或者 git log --oneline --reflog 查看所有的版本

添加指定文件到暂存区

git add 文件名

以空格隔开可以一次 add 多个文件

git add [file1] [file2] ...

添加指定目录到暂存区,包括子目录

git add [dir] [file] [dir] [file] [file] ...

添加当前目录的所有文件到暂存区,包括子目录

git add .

提交暂存区到仓库区

git commit -m "名字"

新文件,从未被Git管理过,是不能直接提交到仓库区的

git commit -a -m "提交日志"

查看所有本地分支

git branch

创建新分支

git branch 分支名

比如,创建一个叫做login的分支

git branch login

切换分支

git checkout 分支名

比如,切换到login分支

git checkout login

比如,切换到master分支

git checkout master

删除分支(删除时,必须先切换到其他分支)

git branch -d 分支名 git branch -D 分支名 强制删除分支

创建并直接切换分支

git checkout -b 分支名

快进合并(fast-forward)

特点:一个分支包含另一个分支的全部提交记录。

如果需要把dev分支的代码合并到master分支

  • 切换到master
  • 执行 git merge add ,即可把add分支的代码合并到master

三方合并

  • 假设把dev的代码合并到master分支,切换到master git checkout master
  • 执行 git merge dev ,表示将dev分支的代码合并到当前(master)分支

创建远程仓库

  • 码云

    • 右上角的 “+” ,选择新建仓库
    • 填写仓库名,选择公开
    • 点击创建按钮,创建。
  • github

    • 右上角的 “+” ,选择 “New repository”
    • 填写仓库名称
    • 点击创建按钮,创建。

推送代码到远程【首次】

  • 进入本地项目文件夹,右键 --> Git Bash Here,打开终端窗口。
  • 远程仓库地址有两个(https、ssh地址),一定要选择ssh地址。
  • 添加远程仓库地址(git remote add 远程仓库地址别名 完整的远程仓库SSH地址
  • 首次推送代码到远程仓库(git push -u origin master

只能把本地仓库的代码推送到远程仓库;不能把工作区的、暂存区的代码推到远程。

确保你的本地仓库有内容,别推送空的本地仓库。注意是本地仓库,不是工作区。

首次使用SSH,会出现如下画面,输入 “yes”,回车即可。后面就不会再有了。

再次及后续推送

  • 工作区编写代码
  • 执行 add 命令,将代码添加到暂存区
  • 执行 commit 命令,将代码提交到本地仓库。(因为只有本地仓库的代码才能推送到远程)
  • 执行 git push 命令,将这次改动推送到远程仓库。

常见问题

  • 执行完“git remote add origin ssh地址”报错:fatal:remote origin already exists.

    • 叫做 origin 的远程地址以及存在了。不能再使用这个名字了。
    • 执行 git remote -v 查看所有的远程地址。
    • 可以选择性的 删除 远程地址。执行 git remote remove 别名,比如 git remote remove origin
  • 首次推送的时候,提示输入账号密码

    • 因为添加远程地址的时候,填错了,填成了 https 地址了。应该换成 ssh 地址。
    • 可以选择改过来,也可以使用https地址。下次做项目,再使用ssh地址也可以。

    git remote add 那里,地址复制错了,能改吗?


# 查看所有可用的源(可用的远程地址)
git remote -v
# 删除一个源
git remote remove 远程仓库地址别名
# 然后重新添加新的地址
git remote add 远程仓库地址别名 SSH地址

推送总是不成功?

  1. 检查一下SSH秘钥配置好了吗 (如果提示 publickey)
  2. 提示 git push --set-upstream ,说明首次推送没有加 -u 。那么把这次推送当做首次推送即可

管理员角色

  • 创建远程仓库 或 创建本地仓库之后推送到远程仓库

    • 初始化一个项目,git init
    • 添加初始的代码到暂存区 git add .
    • 提交初始的代码到本地仓库 git commit -m "提交了初始的代码"
  • 推送到远程仓库

    • git remote add origin SSH地址
    • git push -u origin master
  • 邀请成员

  • 开发(add / commit / pull / push)

    • 编辑自己的代码
    • 把修改后的代码,添加到暂存区 git add .
    • 把修改后的代码,推送到本地仓库 git commit -m "xxx"
    • 如果有人在你之前推送了,则推送之前需要先拉取,将拉取下来的代码和你的代码合并 git pull origin master
    • 合并如果有冲突,需要解决冲突,别忘记提交一次
    • 最后推送 git push origin master

    成员角色

  • 同意邀请

  • 克隆项目到本地(注意路径)

    • 执行 git clone SSH地址 ,将项目克隆到本地。然后关闭黑窗口。
    • 进入项目文件夹,重新 git Bash Here 打开黑窗口,这样可以保证路径正确。
  • 开发(add / commit / pull / push)

    • 编辑自己的代码
    • 把修改后的代码,添加到暂存区 git add .
    • 把修改后的代码,推送到本地仓库 git commit -m "xxx"
    • 如果有人在你之前推送了,则推送之前需要先拉取,将拉取下来的代码和你的代码合并 git pull origin master
    • 合并如果有冲突,需要解决冲突,别忘记提交一次
    • 最后推送 git push origin master