git --常用指令

每次使用git时,总有些指令忘记如何使用,甚是让人痛苦。
特此记录git的一些常用指令,方便自己查询。

基本指令

# 创建账户关联:
# 这部分内容同样修改 .git/config中的内容也可以实现
$ git config --global user.name "Your account Name"
$ git config --global user.email "email@example.com"

# 新建repository
$ mkdir new_project_name
$ cd new_project_name
$ git init

# 提交修改
$ git add file
$ git commit -m "some message"

# 查询repository状态
$ git status

# 查询版本库中的代码与工作区代码的区别
$ git diff file
$ git diff HEAD -- file		# 工作区与版本库中的区别

# 查询版本历史
$ git log		# 显示完整log信息
$ git log --pretty=oneline		# 只显示commit_id 和 版本修改说明信息

# 解决冲突
$ git log --graph --pretty=oneline --abbrev-commit		# 查看分支合并图-解决冲突
# 解决冲突,进入到冲突文件中修改,再commit

# 版本回退
$ git reset --hard HEAD^		# HEAD为当前版本,回退上一版本
$ git reset --hard commit_id		# 回退到任意版本

# git bash 中输入命令历史查询
$ git reflog

# 撤销修改
$ git checkout -- file		# 完全丢弃工作区的修改
$ git reset HEAD file		# 将提交到暂存区的修改撤销

# 删除文件
$ rm file
$ git rm file
$ git commit -m "remove file"
$ git checkout -- file		# 撤销删除

远程管理


# 创建本地ssh key
$ ssh-keygen -t rsa -C "youremail@example.com"		
# 只需要将 id_rsa.pub 中的粘贴到github中

# 首次关联远程repository
$ git remote add origin git@github.com:account_name/repository_name.git

# 首次提交master分支,并关联远程repository master分支
$ git push -u origin master		# origin 代表远程库, master 代表本地库master分支

# 克隆远程repository
$ git clone git@github.com:account_name/repository_name.git
or
$ git clone https://github.com/account_name/repository_name.git

分支管理

$ git branch dev		# 创建dev分支
$ git checkout dev		# 切换到dev分支
# 上面两条命令合一
$ git checkout -b dev

# 查看当前分支
$ git branch

# 合并分支到当前分支 -- fast forward 合并
# 使用 git log --graph 看不到合并历史
$ git merge dev

# 删除某分支
$ git branch -d dev		# 分支必须已经合并完成了
$ git branch -D <name>		# 未合并强制删除

# 普通合并
$ git merge --no-ff -m "merge with no-ff" dev


# bug 分支 处理
$ git stash		# 建立中断
$ git stash list		# 查看中断
$ git stash apply		# 回到中断前
$ git stash drop		# 删除中断分支
# 回到中断处并删除中断分支
$ git stash pop

# 恢复指定stash
$ git stash apply stash@{0}

# 合并分支图
$ git rebase

多人协作(push and pull)

# 分支类型:

 1. master
 2. dev
 3. bug
 4. feature

# 查看远程分支信息
$ git remote
$ git remote -v		# 查看详细信息
$ git push origin master		# 推送master分支到远程master分支
$ git push origin dev		# 推送dev分支远程dev分支
# 如果push失败
$ git pull		# 拉取远程最新更新
# 当由于分支未关联pull失败(no tracking information):
$ git branch --set-upstream-to=origin/dev dev

标签管理

# 创建新标签
$ git tag tag_name
or
$ git tag tag_name commit_id		# 指定commit_id建立标签
$ git tag -a tag_name -m "version 0.1 released" 1094adb		# 带说明标签

# 显示所有的存在的标签
$ git tag
# 显示某个标签的详细信息
$ git show tag_name

# 删除标签
$ git tag -d tag_name

# 推送标签到远程
# origin表示远程库 -- 这个是可以修改的
$ git push origin tag_name
or
$ git push origin --tags		# 推送所有未推送的标签

# 删除远程标签
$ git tag -d tag_name
$ git push  origin :refs/tags/tag_name

同时关联github和码云

$ git remote rm origin		# 先删除之前的关联
$ git remote add github git@github.com:account_name/repository_name.git
$ git remote add gitee git@gitee.com:account_name/repository_name.git
# 远程推送时
$ git push github master		# 只需要将之前的origin变成github或gitee即可

自定义git – .gitignore和喜好设置

# .gitignore 可参照github官方文档设置
# 文件设定符合shell的命令规则
https://github.com/github/gitignore

# 强制添加被忽略的文件
$ git add -f file
# 检查某文件是由于.gitignore那个设定所忽略
$ git check-ignore -v file

# 配置别名
# alias.别名 原始命令
$ git config --global alias.st status
or
# 直接修改 .git/config文件中的alias
# 或者直接修改用户主目录下的 .gitconfig

[alias]
    last = log -1		# 查看上一次的提交

ps: 以上内容是参照廖雪峰老师的git教程,快速的过了一遍,感觉还是很爽的
_ _

【1】https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值