git常用命令

克隆分支(ssh方式)

git clone git@xxx:branch.git#xxx代表服务器

设置全局的用户名和邮箱

git config --global user.name 'name'
git config --global user.email 'email'

查看已设配置

git config --list

查看远程分支的git路径

git remote -v

查看当前版本的状态(是否修改)

git status

查看日志

git log

查看具体修改

git log -p commit值
如:

查看n条日志

git log -n

查阅最近修改的文件

git log --stat

将日志按照格式导入到文件中

git log --pretty=format:'%h was %an, %ar, message: %s' > git.log

git log --pretty=format:'%h was %an, %ar, message: %s' > d:/git.log

#查看最近七天提交的信息
git --pretty=format:'%h was %an,%ai, message: %s' --since="7 day ago"

#查看某个人最近七天提交的信息
git log --pretty=format:'%h was %an,%ai, message: %s' --since="7 day ago" --author='joshua317'

#查看匹配grep后面字符串的最近7天提交的信息
git log --pretty=format:'%h was %an,%ai, message: %s' --since="7 day ago" |grep 'joshua317'

#查看某个人最近七天提交的部分信息
git log --pretty=format:'%ai, message: %s' --since="7 day ago" --author='joshua317'

查看修改:

git show

git show e554c39fd6144fc9358b319786598481dee1937b

拉取分支代码

1.拉取并合并
git pull

2.拉取,比较,不合并
git fetch
git diff origin/master --stat
git diff origin/master -- filename #查看更改的内容

查看本地分支:

git branch

查看远地分支:

git branch -r

查看本地分支和远程分支

git branch -a

查看各个分支最后一次提交

git branch -v

查看两个分支

git diff branch_a branch_b

创建本地分支

git branch branch_name

切换分支

git checkout branch_name

创建并切换本地分支

git checkout -b branch_name

删除文件,并把它从git的仓库管理系统中移除

git rm file

强制删除文件,并把它从git的仓库管理系统中移除

git rm -f file

删除文件夹folder,并把它从git的仓库管理系统中移除。

git rm -r folder

删除本地分支

git branch -d | -D branch_name  #-D代表强制删除

删除远程分支

git push origin --delete branch_name

推送分支

git push origin branch_name

push本地分支代码到远端服务器

git push branch_name origin/branch_name

合并分支

git merge branch_name # 将branch_name分支合并到当前分支中去

重命名分支

git branch -m|-M oldbranch_name newbranch_name #-M用来强制重命名

取远程分支并分化一个新分支(With the remote branches in hand, you now need to check out the branch you are interested in, giving you a local working copy)

git checkout -b branch_name origin/branch_name

添加文件到分支

git add file

提交文件

git commit -m '注释'

添加并提交到分支

git commit -am '注释'

显示本地分支和服务器分支的映射关系

git branch -vv

合并本地master分支到当前分支,比如当前处于dev分支,则把master上的代码merge到dev分支上

git merge master

合并远程master分支到当前分支

git merge origin/master

备注:

git merge –no-ff 可以保存你之前的分支历史。能够更好的查看 merge历史,以及branch 状态。

git merge 则不会显示 feature,只保留单条分支记录。

强制回滚命令

git reset --hard b188005656968504c81eefe202e0a04205803e51(某次提交的号)

查看标签

git tag
或者
git tag -l

打标签

git tag -a v0.01 -m "Relase version 0.0.1"

切换标签,与切换分支命令相同,用git checkout [tagname]

git checkout v0.0.1

提交标签到远程仓库,注解:就像git push origin master 把本地修改提交到远程仓库一样,-tags可以把本地的打的标签全部提交到远程仓库。

git push origin --tags

删除标签,注解:-d 表示删除,后面跟要删除的tag名字

git tag -d v0.0.1

删除远程标签,注解:就像git push origin:branch_name 可以删除远程仓库的分支branch_name一样, 冒号前为空表示删除远程仓库的tag。

git push origin :refs/tags/v0.0.1

git不区分文件名大小写解决

git mv -f myfile MyFile (推荐)
然后commit就好了。

或者修改配置

git config core.ignorecase false

删除一些 没有git add 的 文件

git clean 参数

-n 显示 将要 删除的 文件和目录
-f 删除文件
-df 删除文件 和 目录

git clean -n

git clean -df

git clean -f

使用过程中遇到的问题汇总:

1.推送的时候出现失败

$ git push
No refs in common and none specified; doing nothing.
Perhaps you should specify a branch such as 'master'.
fatal: The remote end hung up unexpectedly
error: failed to push some refs to 'git@xxx:xxx.git'

解决:
git add .
git commit -am 'push'
git push origin master

2.假设存在文件或git仓库( existing folder or Git repository)

cd existing_folder
git init
git remote add origin git@yourserver:yourproject #红色部分视情况而定
git add .
git commit
git push -u origin master

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏JavaEdge

从零开始的电商后台世界(更新 ing)2 预备知识储备3 前端框架的分析5 React 框架基础

20630
来自专栏北京马哥教育

一次linux服务器被黑客入侵后的处理

场景: 周一上班centos服务器ssh不可用,web和数据库等应用不响应。好在vnc可以登录 使用last命令查询,2号之前的登录信息已被清空,并且sshd文...

42490
来自专栏刺客博客

Debian利用Aria2离线下载资源

47930
来自专栏Linux驱动

第4阶段——制作根文件系统之编译配置安装busybox(3)

在上一节分析出制作一个最小的根文件系统至少需要: (1)/dev/console(终端控制台, 提供标准输入、标准输出以及标准错误) /dev/null  (为...

21250
来自专栏Linux驱动

第4阶段——制作根文件系统之编译配置安装busybox(3)

在上一节分析出制作一个最小的根文件系统至少需要: (1)/dev/console(终端控制台, 提供标准输入、标准输出以及标准错误) /dev/null  (为...

24670
来自专栏IT笔记

Linux下安装 Python3

Linux下大部分系统默认自带python2.x的版本,最常见的是python2.6或python2.7版本,默认的python被系统很多程序所依赖,比如cen...

15430
来自专栏前端vue

编写接口连接并查询数据库数据(二)

安装测试工具postman 不想下载软件的话可以用谷歌插件postman 这个东西是测试用的,不需要的可以不下载

1.1K10
来自专栏性能与架构

如何高效查看 Docker 日志

开发基于 Docker 的应用时,用好 log 可以大大提高排错效率,下面就是几个常用的 log 操作技巧:

5.3K50
来自专栏Hongten

Windows7下面手把手教你安装Django

在搜索了一些资料发现,对于Django的安装,详细的真的很少,都说的很简化,然而,这篇blog可以手把手教你成功安装Django

10320
来自专栏Java帮帮-微信公众号-技术文章全总结

Hadoop,zookeeper,HBase,Spack集群环境搭建【面试+工作】

Hadoop,zookeeper,HBase,Spark集群环境搭建【面试+工作】

26320

扫码关注云+社区

领取腾讯云代金券