git基础

查看git版本

git --version

配置全局变量

git config --global  user.name   "zhangsan"
git config --global user.email   "zhangsan@163.com"

在当前目录查看配置 ls -a .gitconfig

git config --list
git config -l

进入文件夹,初始化git仓库

    git init

    ls -la  里面有git文件

克隆

git clone https://github.com/*******.git

查看更新状态

	git  status

Untrained files:文件更改

添加文件到缓存区

   git add .   添加所有
   git add 文件名,可单可多,空格分开

提交文件

	git  commit  -m  "描述“

然后查看 git status 会出现nothing to commit

查看log日志

    git  log
	会出现`commit` 记录   commit vdfsの32efefv'shgs    点击q 退出

回退某一版本

    git checkout  vdfsの32efef  
    后跟身份号

回退上一版本

	git checkout -
	用减号

查看修改内容

	git log -p

添加文件并提交文件

    git add . && git commit -m "功能描述"

查看log日志 一行

	git log -- oneline

查看所有log日志 N行

	git log -- oneline --all

查看所有日志

    git log  --all
    git log  --all  -- oneline

打标签通常用于版本迭代

	git tag -a v1 -m "v1版本描述”

查看所有标签

    git tag

在历史版本打标签

	git tag -a v1.5 -m "v1.5版本描述“ vdfsの32
	vdfsの32为身份号

查看标签详细信息

    git show v1
    v1为标签名

利用标签回到某一版本

    git checkout  v1
    v1为标签名
拉去某个分支
git clone --branch v3.7.1 https://github.com/protocolbuffers/protobuf.git

创建分支

    git branch 分支名
    git checkout -b 分支名     创建分支并切换分支

切换分支

    git  checkout 分支名
	
	git checkout  master

合并分支(身处分支2)

    git merge 分支名1
    将要合并的分支1 合并到(身处分支2中)
	
	Auto-merging  **.py
	CONFLICT (content): Merge conflict in **.py
	Automatic merge failed; fix conflicts and then commit the result
	意为冲突了
	查看身处分支2,修改冲突 git pull 拉去查看冲突
	重新提交即可

git切换分支后代码进行更新

  git  remote  origin http://***.git   给仓库起个别名叫origin,或者origin 代表 仓库地址
  git pull origin xxx分支名称

添加远程仓库

    git remote add github https://github.com/*******.git

查看远程仓库版本

    github https://github.com/********.git(fetch)   拉代码地址
    github https://github.com/********.git(push)   推代码地址

推代码

    git push -u 远程仓库名 分支名

关联远端分支

 git push --set-upstream origin prototype
 git branch  --set-upstream-to=origin/远程分支  本地分支
git 本地有分支 远程没有分支 在远程创建dev-psql 将本地分支dev-psql与远程分支dev-psql的映射关系
git push --set-upstream origin dev-psql
 git clone --bare  https://github.com/fenghualanglang/study_everything.git

git

git [–version] [–help] [-C ] [-c name=value][–exec-path[= ]] [–html-path] [–man-path] [–info-path][-p | --paginate | --no-pager] [–no-replace-objects] [–bare] [–git-dir= ] [–work-tree= ] [–namespace=] []

这些是各种场合常见的 Git 命令:

开始一个工作区(参见:git help tutorial)

clone克隆一个仓库到一个新目录
init创建一个空的 Git 仓库或重新初始化一个已存在的仓库

在当前变更上工作(参见:git help everyday)

add添加文件内容至索引
mv移动或重命名一个文件、目录或符号链接
reset重置当前 HEAD 到指定状态
rm从工作区和索引中删除文件

检查历史和状态(参见:git help revisions)

bisect通过二分查找定位引入 bug 的提交
grep输出和模式匹配的行
log显示提交日志
show显示各种类型的对象
status显示工作区状态

扩展、标记和调校您的历史记录

branch列出、创建或删除分支
checkout切换分支或恢复工作区文件
commit记录变更到仓库
diff显示提交之间、提交和工作区之间等的差异
merge合并两个或更多开发历史
rebase本地提交转移至更新后的上游分支中
tag创建、列出、删除或校验一个 GPG 签名的标签对象

协同(参见:git help workflows)

fetch从另外一个仓库下载对象和引用
pul获取并整合另外的仓库或一个本地分支l
push更新远程引用和相关的对象

git 回退本地代码到某一个版本

查看已提交的版本

git log --pretty=oneline

回退版本(三种方式)
一、

git reset 版本id
等同于
git reset --mixed 版本id

回退一个版本,且会将暂存区的内容和本地已提交的内容全部恢复到未暂存的状态,不影响原来本地文件(未提交的也不受影响)
二、

git reset --soft 版本id

回退一个版本,不清空暂存区,将已提交的内容恢复到暂存区,不影响原来本地的文件(未提交的也不受影响)
三、

git reset --hard 版本id

回退一个版本,清空暂存区,将已提交的内容的版本恢复到本地,本地的文件也将被恢复的版本替换
https://blog.csdn.net/document_dom/article/details/89522671

git commit之后,想撤销commit

写完代码后,我们一般这样

git add . //添加所有文件
git commit -m "本功能全部完成"

执行完commit后,想撤回commit,怎么办?

这样凉拌:

git reset --soft HEAD^

这样就成功的撤销了你的commit

注意,仅仅是撤回commit操作,您写的代码仍然保留。

说一下个人理解:
HEAD^的意思是上一个版本,也可以写成HEAD~1

如果你进行了2次commit,想都撤回,可以使用HEAD~2

至于这几个参数:

– mixed

意思是:不删除工作空间改动代码,撤销commit,并且撤销git add . 操作
这个为默认参数,git reset --mixed HEAD^ 和 git reset HEAD^ 效果是一样的。

–soft

不删除工作空间改动代码,撤销commit,不撤销git add .

–hard

删除工作空间改动代码,撤销commit,撤销git add .

注意完成这个操作后,就恢复到了上一次的commit状态。

顺便说一下,如果commit注释写错了,只是想改一下注释,只需要:

git commit --amend

此时会进入默认vim编辑器,修改注释完毕后保存就好了。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

风华浪浪

讨个老婆本呗

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

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

打赏作者

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

抵扣说明:

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

余额充值