常用git命令
建议先看这本书Pro Git,有中文的网页版https://gitee.com/progit/(如果马上要用的直接看干货)
直接干货:
-
git config --global user.name "name"
-
git config --global user.email "xxx@yy.com"
-
git init
-
查看:git config -l git config --list
-
重置多个user.name:git config --global --replace-all user.name "name"
-
重置多个user.email:git config --global --replace-all user.emai "xxx@yy.com"
默认--global的配置文件存在用户目录下的.gitconfig目录下:
默认所有的name和email的信息为.gitconfig中的
-
当前项目的 git 目录中的配置文件(也就是工作目录中的
.git/config
文件):这里的配置仅仅针对当前项目有效。每一个级别的配置都会覆盖上层的相同配置,所以.git/config
里的配置会覆盖/etc/gitconfig
中的同名变量。 -
如果用了
--global
选项,那么更改的配置文件就是位于你用户主目录下的那个,以后你所有的项目都会默认使用这里配置的用户信息。如果要在某个特定的项目中使用其他名字或者电邮,只要去掉--global
选项重新配置即可,新的设定保存在当前项目的.git/config
文件里。 -
查看当前分支:git branch
-
查看所有分支:git branch -a
-
切换到分支qqq: git checkout qqq
-
拉取远程分支xxx:git pull origin xxx
-
在远端分支remote1.1的基础上创建本地分支xxx写代码git checkout -b xxx origin remote1.1
-
-
删除分支xxx-y:如果当前分支在xxx-y,先切换到其他分支,然后再git checkout -d xxx-y
-
清除本地分支所有修改:git checkout -f
-
重命名本地分支sss为yyy:git branch -m sss yyy
-
本地分支sss推到远程:git push origin sss
-
本地分支sss推到远程并且关联:git push -u origin sss
-
删除远程分支sss:
-
git push --delete origin sss
-
git branh -d -r sss
-
-
撤销本地分支xxx 推到远程yyy分支的记录:
-
git checkout xxx 切换到xxx
-
git log 查看commit的记录,找到需要回到的版本号12312312313
-
git reset --soft 12312312313 soft的意思是回到12312312313这个版本号保留本地修改,hard是回到12312312313这个版本号清除所有修改
-
git push yyy --force 强制推送版本号12312312313到远程,远程就只有版本号12312312313,想撤销的已经被覆盖掉
-
继续编辑代码 -> git add .
-
-> git commit -m "this is a commit!"
-> git push origin yyy
-
合并分支yyy到xxx:
-
切换到xxx:git checkout xxx
-
合并yyy:git merge yyy
-
-
git add .
-
git add -u
-
git add -all = git add -A
-
git restore --staged .
-
git merge --abort
-
idea中git log的查看
-
绿色标签代表本地分支有的
-
紫色标签代表远程分支有的
-
黄色标签代表当前分支
-
git commit -m "" message的使用:
-
查看版本差异:
-
git diff:查看未暂存和上次commit之间差异,如果git add .后,就看不到了
-
git diff --staged(--cached):查看已暂存和上次commit之间的差异
-
-
重命名文件:git mv file_from file to
-
移除文件:要从 Git 中移除某个文件,就必须要从已跟踪文件清单中移除(确切地说,是从暂存区域移除),然后提交。
-
如果手动删除文件,git status会提示Changes not staged for commit
-
然后可用git rm 记录该次删除操作,git status 时就会提示Changes to be commited,
-
-
查看提交记录git log 的使用:
-
git log -p -2
- -p 展示每个更新之间的差异
- -2 展示最近2个
-
git log --pretty=format:"%h %s" --graph
- --graph 左侧展示ASCII字符串表示的图形
- format 的参数:
-
%H 提交对象(commit)的完整哈希字串
%h 提交对象的简短哈希字串
%T 树对象(tree)的完整哈希字串
%t 树对象的简短哈希字串
%P 父对象(parent)的完整哈希字串
%p 父对象的简短哈希字串
%an 作者(author)的名字
%ae 作者的电子邮件地址
%ad 作者修订日期(可以用 -date= 选项定制格式)
%ar 作者修订日期,按多久以前的方式显示
%cn 提交者(committer)的名字
%ce 提交者的电子邮件地址
%cd 提交日期
%cr 提交日期,按多久以前的方式显示
%s 提交说明 -
未完待续
-