前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >git常用命令

git常用命令

作者头像
joshua317
发布2018-04-16 11:47:24
5120
发布2018-04-16 11:47:24
举报
文章被收录于专栏:技术博文技术博文

克隆分支(ssh方式)

代码语言:javascript
复制
git clone git@xxx:branch.git#xxx代表服务器

设置全局的用户名和邮箱

代码语言:javascript
复制
git config --global user.name 'name'
git config --global user.email 'email'

查看已设配置

代码语言:javascript
复制
git config --list

查看远程分支的git路径

代码语言:javascript
复制
git remote -v

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

代码语言:javascript
复制
git status

查看日志

代码语言:javascript
复制
git log

查看具体修改

代码语言:javascript
复制
git log -p commit值
如:

查看n条日志

代码语言:javascript
复制
git log -n

查阅最近修改的文件

代码语言:javascript
复制
git log --stat

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

代码语言:javascript
复制
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'

查看修改:

代码语言:javascript
复制
git show

git show e554c39fd6144fc9358b319786598481dee1937b

拉取分支代码

代码语言:javascript
复制
1.拉取并合并
git pull

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

查看本地分支:

代码语言:javascript
复制
git branch

查看远地分支:

代码语言:javascript
复制
git branch -r

查看本地分支和远程分支

代码语言:javascript
复制
git branch -a

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

代码语言:javascript
复制
git branch -v

查看两个分支

代码语言:javascript
复制
git diff branch_a branch_b

创建本地分支

代码语言:javascript
复制
git branch branch_name

切换分支

代码语言:javascript
复制
git checkout branch_name

创建并切换本地分支

代码语言:javascript
复制
git checkout -b branch_name

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

代码语言:javascript
复制
git rm file

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

代码语言:javascript
复制
git rm -f file

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

代码语言:javascript
复制
git rm -r folder

删除本地分支

代码语言:javascript
复制
git branch -d | -D branch_name  #-D代表强制删除

删除远程分支

代码语言:javascript
复制
git push origin --delete branch_name

推送分支

代码语言:javascript
复制
git push origin branch_name

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

代码语言:javascript
复制
git push branch_name origin/branch_name

合并分支

代码语言:javascript
复制
git merge branch_name # 将branch_name分支合并到当前分支中去

重命名分支

代码语言:javascript
复制
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)

代码语言:javascript
复制
git checkout -b branch_name origin/branch_name

添加文件到分支

代码语言:javascript
复制
git add file

提交文件

代码语言:javascript
复制
git commit -m '注释'

添加并提交到分支

代码语言:javascript
复制
git commit -am '注释'

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

代码语言:javascript
复制
git branch -vv

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

代码语言:javascript
复制
git merge master

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

代码语言:javascript
复制
git merge origin/master

备注:

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

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

强制回滚命令

代码语言:javascript
复制
git reset --hard b188005656968504c81eefe202e0a04205803e51(某次提交的号)

查看标签

代码语言:javascript
复制
git tag
或者
git tag -l

打标签

代码语言:javascript
复制
git tag -a v0.01 -m "Relase version 0.0.1"

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

代码语言:javascript
复制
git checkout v0.0.1

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

代码语言:javascript
复制
git push origin --tags

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

代码语言:javascript
复制
git tag -d v0.0.1

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

代码语言:javascript
复制
git push origin :refs/tags/v0.0.1

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

代码语言:javascript
复制
git mv -f myfile MyFile (推荐)
然后commit就好了。

或者修改配置

git config core.ignorecase false

删除一些 没有git add 的 文件

代码语言:javascript
复制
git clean 参数

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

git clean -n

git clean -df

git clean -f

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

1.推送的时候出现失败

代码语言:javascript
复制
$ 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)

代码语言:javascript
复制
cd existing_folder
git init
git remote add origin git@yourserver:yourproject #红色部分视情况而定
git add .
git commit
git push -u origin master
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2015-11-01 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档