git常用命令

  • 全局用户信息配置:
$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"

注意:git config命令的--global参数,用了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置

  • 初始化git仓库:
$ git init

例:目录不含中文名

$ mkdir learngit
$ cd learngit
$ pwd
/Users/michael/learngit
$ git init
Initialized empty Git repository in /Users/michael/learngit/.git/
  • 添加文件到工作区:可添加多个
$ git add <filename>

例:

$ git add readme.txt
$ git add help.txt
...
  • 提交到git仓库:
$ git commit -m <message>

例:-m后面输入的是本次提交的说明

$ git commit -m "添加了两个文件."
  • 查看提交的历史记录:
# 查看commit历史记录(不包括reset和已删除的commit记录)
$ git log

# 简化输出信息    
$ git log --pretty=oneline

# 查看所有commit的历史记录(包括已删除的commit和reset的记录)
$ git reflog
  • 版本回退:
# 根据commit id回退到具体版本(id可以只写前几位)
$ git reset --hard commit_id

# 退回到上一版本
$ git reset --hard HEAD^

# 退回到上上个版本
$ git reset --hard HEAD^^

# 退回到当前版本之前的指定个数版本
$ git reset --hard HEAD~100
  • 查看工作区状态:
$ git status
  • 文件对比:
# 查看工作区文件和版本库里面最新版本的区别
$ git diff HEAD -- <filename>
  • 撤销修改:
git checkout -- <filename>
  • 删除工作区文件:与add使用方法相同
$ git rm <filename>
  • 添加远程仓库:
git remote add origin git@server-name:path/repo-name.git
  • 推送到远程仓库:
# 第一次推送 加上 -u 
$ git push -u origin master

# 后续推送
$ git push origin master
  • 克隆远程仓库:
$ git clone git@server-name:path/repo-name.git
  • 分支管理:
#查看分支 当前分支前有*号
$ git branch

# 创建分支
$ git branch <name>

#切换分支
$ git checkout <name>

# 创建并切换分支
$ git checkout -b <name>

# 合并分支到当前分支	
$ git merge <name>	#删除分支后,会丢掉分支信息
# 禁用Fast forward模式会产生一个新的commit
	--no-ff:表示禁用Fast forward
	-m:添加说明
$ git merge --no-ff -m "merge with no-ff" <name>  #删除分支后不会丢失分支信息

# 删除分支
$ git branch -d <name>

#强行删除未合并分支
git branch -D <name>
  • 修改管理:
# 存储所有未提交的修改
$ git stash

#查看stash
$ git stash list

# 恢复未提交修改
$ git stash apply

# 删除stash
$ git stash drop

#恢复未提交修改并删除stash 效果同apply+drop 
$ git stash pop

多人协作相关:

# 查看远程仓库信息
$ git remote		#简单信息
$ git remote -v		#详细信息

# 推送到远程仓库
	name:分支名称 
		master:主分支
		dev:开发分支
$ git push origin <name>

# 创建远程仓库的dev分支到本地	
$ git checkout -b dev origin/dev

# 指定本地dev分支与远程仓库dev分支的链接
$ git branch --set-upstream-to=origin/dev dev
  • 变基:
# 开始rebase
$ git rebase

# 冲突解决完后继续rebase
$ git rebase --continue

# 停止rebase,回到rebase开始前的状态
$ git rebase --abort
  • 标签管理:
# 查看标签
$ git tag

# 查看带说明的标签
$ git show <name>

# 添加标签
$ git tag <name>

# 添加带说明标签
$ git tag -a <name> -m "xxx"

# 添加历史标签
$ git log --pretty=oneline --abbrev-commit	# 获取历史提交记录
$ git tag <name> commit_id	#为历史提交添加标签

# 添加带说明的历史标签
$ git tag -a <name> -m "xxx" commit_id
  • 忽略特殊文件:

    在Git工作区的根目录下创建一个特殊的.gitignore文件

    常见忽略文件:传送门

    文件文件原则:
           忽略操作系统自动生成的文件:比如缩略图等
           忽略编译生成的中间文件、可执行文件等:如Java编译产生的.class文件
           忽略带有敏感信息的配置文件:比如存放口令的配置文件

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值