git 命令 语法

2 篇文章 0 订阅

本地库

  • 安装Git后,在资源管理器的空白处,单击鼠标右键打开窗口,点击Git Bash Here,打开Git命令
    行窗口, 在窗口中可直接使用Linux命令操作

初始化Git本地库

git init

设置签名信息

  • 项目级别/仓库级别:仅在当前目录的本地Git仓库范围内有效
git config user.name wangbr_pro
git config user.email wangbr888@163.com
# 签名信息保存位置: ./.git/config 文件中
  • 系统用户级别:登录当前操作系统的用户范围
git config --global user.name wangbr_glo
git config --global user.email wangbr666@163.com
# 签名信息保存位置: ~/.gitconfig

查看状态

$ git status
On branch master # 默认在master(主干)分支上
No commits yet # 当前没有任何的提交
nothing to commit (create/copy files and use "git add" to track)
# 没有什么需要提交的(创建/复制文件,使用“git add”命令可追踪,也就是用git去管理文件)

暂存区

  • 将工作区的“新建/修改”添加到暂存区
git add <file name>
  • 恢复,不放到暂存区
git rm --cached <file name>

本地库

  • 将暂存区的内容提交到本地库
git commit [-m "提交说明信息"] <file name>

查看版本历史记录

git log
# commit [根据最新文件生成的hashcord]
# Author : 作者
# Date : 时间
  • 以漂亮的格式显示:即每条日志只显示一行
git log --pretty=oneline
  • 简约的格式显示:
git log --oneline
  • 显示回滚版本步数[推荐 ]
git reflog

前进后退版本

  • 基于索引值操作[推荐方式]
git reset --hard <局部索引值> 
# 通过HEAD指针来移动回滚版本
# git reflog 查看 局部索引值
git reset --hard 64d3d2a 
  • 使用 ^ (异或)符号:只能后退
git reset --hard HEAD^ 
# 注:一个 ^ 表示后退一步,n 个表示后退 n 步 
  • 使用 ~ 符号:只能后退
git reset --hard HEAD~n
# 注:n指定步数,表示后退 n 步 

删除文件并恢复

  • 前提:删除文件前,此文件需要已经提交过本地库,才可恢复

  • 删除:rm 文件名.txt

git reset --hard <历史记录索引值> 
# 删除操作已经提交到本地库:指针位置指向历史记录 
# 删除操作尚未提交到本地库:无法恢复  

对比文件差异

  • 将工作区中的文件和暂存区进行比较
git diff <文件名>
  • 将工作区中的文件和本地库历史记录比较
git diff <本地库中历史版本> <文件名>
# 不带文件名比较多个文件

Git分支

  • 查看分支:
git branch -v 
  • 创建分支:
git branch <新分支名>
  • 删除分支(删除的分支不是当前正在打开的分支):
git branch -d <分支名>
  • 切换分支:
git chckout <分支名>
  • 合并分支:
# 第1步:切换到接受修改的分支上
git checkout <需要接受的分支名>
# 第2步:执行 merge 命令
git merge <有新内容的分支名>
  • 解决冲突:
# 第1步:编辑文件,删除特殊符号 
# 第2步:把文件修改到满意为止,保存退出 
# 第3步:
git add 文件名 
# 第4步:
git commit -m "日志信息" 
# 注意:此时 commit 后面一定不要有文件名 

创建本地仓库 演示

mkdir wangbr
cd wangbr
git init # 初始化仓库
vim demo1.txt #新增文件, 按 i 开始编辑,ctrl+c退出编辑,:wq保存并退出,:q!不保存退出
git add demo1.txt # 添加到暂存区
git commit -m "fisrt commit" demo1.txt # 提交到本地仓库

远程库

创建远程库地址别名

  • 查看当前所在本地仓库下的所有远程地址别名
git remote -v
  • 创建远程库地址别名
git remote add 别名 远程地址
# 例
git remote add origin https://gitee.com/stu/wangbr.git
# 地址复制网站上的

push 推送本地库到远程库

git push [远程库别名] [分支名] 

windows云平台密码

  • 按 Ctrl + R 打开运行窗口,输入 control
  • 查看方式大图标
  • 找到 凭据管理器
  • gitee.com

克隆远程库

git clone 远程地址
# 例
git clone https://gitee.com/wbr6666/wangbr.git

pull 拉取操作

  • pull 拉取操作其实是两步:

    pull = fetch + merge

fetch 操作
  • 只把远程库中的内容下载到本地,但是没有改本地工作区的文件。
git fetch <远程库地址别名> <远程分支名>
  • 演示
git fetch 远程库地址别名 远程分支名
git fetch origin master
cat demo1.txt # 查看并没有更改本地工作区的文件
git checkout origin/master # 切换远程分支对比下内容
cat demo1.txt # 远程分支 内容是不一样的
git checkout master #切换回本地master分支
merge 操作
  • 把远程代码合并到本地代码中
git merge 远程库地址别名/远程分支名
  • 演示
git merge origin/master
pull 操作
  • 针对没有冲突的情况 ,不分为上面两个步骤,可以直接使用 pull 提取操作,
git pull 远程库地址别名 远程分支名
  • 演示
$ pwd
/d/gitStudy/wangbr_jl/wangbr
$ vim demo1.txt
$ git commit -m "jl cmmmit" demo1.txt
$ git push origin master
$ cd ../../wangbr
Administrator@PC201802211917 MINGW64 /d/gitStudy/wangbr (master)
$ git pull origin master # 直接拉取,不分两步 fetch,merge
$ cat demo1.txt
hello, 我是总监
hi, 我是经理,我加入项目组来啦...。
haha,我是经理,我又来了。。。。
解决冲突
  • 上面有冲突时,需要先 git pull 拉取远程代码,然后 vim 查看修改文件,再手动解决冲突, 保留需 要的
git pull origin master
vim demo1.txt
  • 添加到本地库和远程库
git add demo1.txt
git commit -m "jl resolve conflict"
git status
On branch master
Your branch is ahead of 'origin/master' by 2 commits.
(use "git push" to publish your local commits)
nothing to commit, working tree clean
git push origin master

fork 跨团队协作

  • 开发人员 入场,访问 https://gitee.com/mxg6666/wangbr , 点击右上角的 Fork

  • fork 之后,发现域名变了,和项目名下面多了一行描述

  • 开发人员 克隆项目,然后修改内容提交

$ cd ../..
$ mkdir wangbr_kf
$ cd wangbr_kf/
$ git clone https://gitee.com/mxg999/wangbr.git
Cloning into 'wangbr'...
remote: Enumerating objects: 24, done.
remote: Counting objects: 100% (24/24), done.
remote: Compressing objects: 100% (8/8), done.
remote: Total 24 (delta 7), reused 24 (delta 7)
Unpacking objects: 100% (24/24), done.
$ cd wangbr/
$ vim demo1.txt
$ git add demo1.txt
$ git commit -m 'kf commit' demo1.txt
$ git push origin master
  • 在 码云 上点击 Pull Request 标签, +新建 Pull Request

  • 切换 总监 , 点击 Pull Request 标签, 点击下方 开启的

  • 预览审核代码

SSH登录

windows系统自带保存密码功能,如果 mac 没有自带保存密码功能怎么办?

https 没有记住就帐号,每次登录时都要输入帐号密码,就很浪费时间。

ssh 可以避免每次添加用户名密码。

  • 生成密钥
#进入当前用户的家目录 ~
$ cd ~
#如果有.ssh 目录,则删除.ssh 目录
$ rm -rvf .ssh
#运行命令生成.ssh 密钥目录
$ ssh-keygen -t rsa -C wangbr666@163.com
#[注意:这里-C 这个参数是大写的 C , 出现光标停留的地方直接按 Enter 键]
#进入.ssh 目录查看文件列表
$ cd .ssh
#查看所有目录 与 文件
$ ls -lf
#./ ../ id_rsa id_rsa.pub
#查看 id_rsa.pub 文件内容, 复制 id_rsa.pub 文件内容(公钥)
$ cat id_rsa.pub
  • 登录 码云, 点击用户头像→设置

  • 点击 SSH公钥,输入复制的密钥信息

  • 权限验证

  • 回到 Git Bash 创建 远程ssh地址别名

cd /d/gitStudy/wangbr
vim demo1.txt
git commit -m "test ssh update" demo1.txt
git remote add origin_ssh git@gitee.com:mxg6666/wangbr.git
git remote -v
origin https://gitee.com/mxg6666/wangbr.git (fetch)
origin https://gitee.com/mxg6666/wangbr.git (push)
origin_ssh git@gitee.com:mxg6666/wangbr.git (fetch)
origin_ssh git@gitee.com:mxg6666/wangbr.git (push)

TortoiseGit 图形化工具

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值