Git和Github操作命令及关联远程库

文章目录


前言

Git工作目录下的文件存在两种状态:

  1. untracked 未跟踪(未被纳入版本控制) : 新建的文件

  2. tracked 已跟踪(被纳入版本控制)

    2.1 Staged 已暂存状态 : 添加 但未提交状态

    2.2 Unmodified 未修改状态 : 已提交

    2.3 Modified 已修改状态 : 修改了,但是还没有提交


一、Git

1. 环境配置

 官网下载地址Git (git-scm.com),安装完成后可以看到Git Bash文件

在需要使用git的文件夹中鼠标右键并选择open Git bash here。

  1. 设置用户信息

    git config --global user.name “name”

    git config --global user.email “@gmail.com”

  2. 查看配置信息

    git config --list

    git config user.name

2. 基本操作

  1. 将未跟踪的文件加入暂存区   git add <文件名>  

  2. 将暂存区的文件取消暂存 (取消 add )  git reset <文件名> 

  3. 将暂存区的文件修改提交到本地仓库  git commit -m "日志信息" <文件名>  

  4. 从本地工作区 删除文件  git rm <文件名>  

  5. 如果本工作区库误删, 想要回退 git checkout head <文件名>  

  6. 查看状态  git status

  7. 初始化  git init

3. 版本切换

  1. 查看版本,确定需要回到的时刻点   git log

         git log --pretty=oneline --abbrev-commit --all --graph

  1. 查看历史操作: 得到最新的commit id

          git reflog

  1. 回退操作

          git reset --hard 提交编号

4. 忽略文件

  1. 创建 .gitignore

  2. 在文件中添加忽略的文件名

  • touch .gitignore

  • vi .gitignore

  • 按insert键进入编辑模式

.gitignore中忽略不同的文件使用的命令不同:

/文件名.txt 单个文件

*.txt 此类型所有文件

project/ project文件夹下所有文件

  • : wq 保存退出

5. 分支

  1. 列出所有本地分支  git branch

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

  3. 列出所有本地分支和远程分支  git branch -a

  4. 创建分支  git branch <分支名>

  5. 切换分支  git checkout <分支名>

  6. 删除分支(如果分支已经修改过,则不允许删除)  git branch -d <分支名>

  7. 强制删除分支  git branch -D <分支名>

  8. 提交分支至远程仓库  git push <仓库简称> <分支名称>

  9. 合并分支 将其他分支合并至当前工作区  git merge <分支名称>

  10. 删除远程仓库分支  git push origin –d branchName

6. 命令行 --tag

  1. 列出所有tag     git tag

  2. 查看tag详细信息     git show [tagName]

  3. 新建一个tag     git tag [tagName]

  4. 提交指定tag      git push [仓库简称] [tagName]

  5. 新建一个分支,指向某个tag      git checkout -b [branch] [tag]

  6. 删除本地tag      git tag -d [tag]

  7. 删除远程tag (注意 空格)      git push origin :refs/tags/[tag]

7. 查看远程

  1. 查看远程 列出指定的每一个远程服务器的简写   git remote
  2. 查看远程 , 列出 简称和地址   git remote -v
  3. 查看远程仓库详细地址    git remote show <仓库简称>

8. 添加/移除远程仓库

  1. 添加远程仓库    git remote add <shortname> <url>
  2. 移除远程仓库和本地仓库的关系(只是从本地移除远程仓库的关联关系,并不会真正影响到远程仓库)    git remote rm <shortname>

9. 从远程仓库获取代码

  1. 从远程仓库克隆 git clone <url> 

  2. 从远程仓库拉取 (拉取到.git 目录,不会合并到工作区,工作区发生变化)

         git fetch  <shortname>  <分支名称>

  1. 手动合并 把某个版本的某个分支合并到当前工作区

        git merge <shortname>/<分支名称>

  1. 从远程仓库拉取 (拉取到.git 目录,合并到工作区,工作区不发生变化) = fetch+merge

        git pull  <shortname>  <分支名称>
        git pull  <shortname>  <分支名称>  --allow-unrelated-histories  #  强制拉取合并

注意:如果当前本地仓库不是从远程仓库克隆,而是本地创建的仓库,并且仓库中存在文件,此时再从远程仓库拉取文件的时候会报错(fatal: refusing to merge unrelated histories ),解决此问题可以在git pull命令后加入参数--allow-unrelated-histories (如上 命令)

  1. 将本地仓库推送至远程仓库的某个分支

          git push [remote-name] [branch-name]

二、Github/Gitee

1. 在Github/Gitee中创建一个空的库

2. 创建ssh密钥

ssh-keygen -t rsa

3. 查看ssh密钥

cat ~/.ssh/id_rsa.pub     复制ssh密钥

4. github设置密钥

在Github/Gitee的设置中添加ssh key

5. 绑定github

ssh -T git@github.com

ssh -T git@gitee.com

6. 绑定远程仓库

复制ssh的git链接。

链接: git@github.com:<项目名>.git

命令: git remote add 远程仓库名字 仓库路径

git remote add origin git@github.com:<项目名>.git

7. 查看仓库

git remote

8. 推送到仓库

git push [-f] [--ste-upstream] [远端名字] [本地分支名]:[远端分支名]

[-f] :强制覆盖

如果远端分支和本地分支一样,可以只写本地分支

git push origin master

--ste-upstream 推送到远端的同时建立和远端分支的关联关系

git push --set-upstream origin master:master

输入这个以后可以将本地master和远程master绑定,以后只需要使用git push就可以了。

三、Gitlab同理

1. Git global setup   配置信息

git config --global user.name ""
git config --global user.email "@gmail.com"

2. Create a new repository (创建一个新的存储库)

git clone git@gitlab.com:<项目名>.git
cd <文件名>
git switch --create main
touch README.md
git add README.md
git commit -m "add README"
git push --set-upstream origin main

3. Push an existing folder (推送现有文件夹)

cd existing_folder
git init --initial-branch=main
git remote add origin git@gitlab.com:<项目名>.git
git add .
git commit -m "Initial commit"
git push --set-upstream origin main

4. Push an existing Git repository (推送现有的 Git 存储库)

cd existing_repo
git remote rename origin old-origin
git remote add origin git@gitlab.com:<项目名>.git
git push --set-upstream origin --all
git push --set-upstream origin --tags

  • 25
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

TENET-

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值