Git 常用命令

命令

command

git config

git commit

git add

git commit

git status

git diff

HEAD HEAD^ HEAD^^

git log

git reset --hard commitId

git reflog

工作区、版本库

stage,HEAD -> master branch

git 是对修改内容的记录

git checkout – file :丢弃工作区的修改

git reset HEAD file:将修改从stage 放回工作区

删除文件

rm file

git rm file

git commit -m “comment”

git checkout – file

ssh-keygen -t rsa -C “youremail@example.com”

创建远程库

关联远程库 git remote add origin git@server-name:path/repo-name.git

推送到远程库 git push origin master

删除关联 git remote rm origin , 查看关联 git remote -v

克隆远程仓库 git clone

branch

创建分支并切换

  • git checkout -b <name>
  • git switch -c <name>

创建分支 git branch <name>

切换分支 git checkout <name>git switch <name>

合并分支 git merge <name> 将当前分支和<name>分支合并

merge 时可能会 出现冲突,需要手动修改重新add 修改内容解决冲突之后 提交

通过git log --graph --pretty=oneline --abbrev-commit 可以查看分支图

git merge --no-ff -m “merge with no-ff” dev 合并分支时,加上--no-ff参数就可以用普通模式合并,合并后的历史有分支,能看出来曾经做过合并

分支策略: master 一般用来发版,dev 开发

git stash : 保存当前工作现场

git stash list

git stash apply <stash>, 多次stash ,恢复指令的stash

git stash pop: 回到工作现场

git cherry-pick <commit> : 把提交修改的内容合并到当前分支

git branch -D <branch> 强制删除没有合并的分支

查看远程库信息,使用git remote -v

本地新建的分支如果不推送到远程,对其他人就是不可见的;

从本地推送分支,使用git push origin branch-name,如果推送失败,先用git pull抓取远程的新提交;

在本地创建和远程分支对应的分支,使用git checkout -b branch-name origin/branch-name,本地和远程分支的名称最好一致;

建立本地分支和远程分支的关联,使用git branch --set-upstream branch-name origin/branch-name

从远程抓取分支,使用git pull,如果有冲突,要先处理冲突。

git rebase操作可以把本地未push的分叉提交历史整理成直线;

git rebase的目的是使得我们在查看历史提交的变化时更容易,因为分叉的提交需要三方对比。

git tag

git tag <tag_name>

git tag

git tag <tag_name> <commit_id>

git show <tag_name> 查看标签信息

git tag -a <tag_name> -m <tag_comment> <commit_id>

git tag -d <tag_name>

git push origin <tagname> 推送标签到远程

git push origin --tags 一次性推送所有标签

删除远程标签

  1. 删除本地,git tag -d <tag_name>
  2. 删除远程 git push origin :refs/tags/<tag_name>

自定义Git

忽略文件配置

官方参考 https://github.com/github/gitignore

忽略文件的原则是:

  1. 忽略操作系统自动生成的文件,比如缩略图等;
  2. 忽略编译生成的中间文件、可执行文件等,也就是如果一个文件是通过另一个文件自动生成的,那自动生成的文件就没必要放进版本库,比如Java编译产生的.class文件;
  3. 忽略你自己的带有敏感信息的配置文件,比如存放口令的配置文件。

创建.gitignore 文件,编写好之后提交到git

git check-ignore 检查文件编写是否正确

git add -f 强制添加已经忽略的文件

配置别名

  • global 配置 git config --global alias.last 'log -1
  • 文件配置 .git/config

链接

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值