Git常用命令

0、安装Git

windows上安装Git只需要到这个网站即可。

1、配置Git

由于Git是分布式管理系统,安装完成后需要打开Git Bash输入主机的用户名以及email地址

git config --global user.name "Your Name"
git config --global user.email "email@example.com"

2、新建Git仓库

初始化:创建一个git仓库,创建之后就会在当前目录生成一个.git的文件夹(不可见)

git init

3、增加/删除/更改文件

这里所有的增加操作都是把文件增加到暂存区

增加指定文件

git add [filename] [filename2]

增加指定目录

git add [dir]

增加所有文件(加all可以添加被手动删除的文件,而加“.”不行)

git add .
git add --all

删除工作区的文件,并将删除操作提交至暂存区

git rm [filename]

更改文件名

git mv old_filename new_filename

4、代码提交

提交暂存区的修改操作(注意,没有被add的修改操作不会被提交)

message可以是提交的说明

git commit -m "message"

如果没有输入-m “message”,则会进入提交说明的窗口。此时需要先按i进入输入状态,输入完说明后,按Esc退出输入状态。此时输入冒号:,再输入wq即可返回原始界面。

git commit

5、查看信息

显示当前分支的版本历史

git log

简化显示当前分支的版本历史

git log --pretty=oneline

查看命令历史:查看仓库的操作历史(便于回退版本后无法找回回退前的版本)

git reflog

查看文件修改前后的差异
需要是没有被add过的文件,如果进入了暂存区,则无法显示

git diff [filename]

查看git库的状态,显示文件修改后没有被add的文件以及add过但没有被commit的文件

git status

查看远程库的信息

git remote
// 显示更详细信息
git remote -v

6、版本回退

回退到上一个版本(HEAD是当前版本,^是上一个版本)
–hard命令会同时重置工作区(实际的文件夹区域)和暂存区,如不加则不会重置工作区

git reset --hard HEAD^

回退到某一个版本

git reset --hard [某版本号的前几位数字]

撤销工作区修改的文件到上一次git commit或上一次git add的状态

git checkout -- [filename]

撤销暂存区的文件,返回到工作区中(即撤销add操作)
可以配合上一个命令完整删除掉自己误输入的信息

git reset HEAD [filename]

7、添加SSH连接github

如果用户主目录下没有.ssh的文件夹,则先需要在Git Bash中创建SSH KEY

$ ssh-keygen -t rsa -C "youremail@example.com"

成功后即可在用户主目录下看到.ssh文件夹,其中有两个文件分别是id_rsaid_rsa.pub,有pub的是公钥可以公开,没有pub的是私钥,不可以泄露给任何人。

在GitHub个人账户"Settings"的"SSH KEYs"中可以添加SSH信息,Tile可以任意填写,内容则复制id_rsa.pub的信息即可。

8、远程库操作

关联一个GitHub上的远程库

git remote add origin git@server-name:path/repo-name.git
//git remote add origin git@github.com:yanghao1550/learngit.git

第一次推送master的分支内容

git push -u origin master

第一次后的每次推送

git push origin [分支名]

克隆GitHub上的仓库到本地

git clone git@server-name:path/repo-name.git
//git clone git@github.com:yanghao1550/learngit.git

9、分支管理

查看分支情况

git branch

创建分支

git branch [分支名]

创建并切换到指定分支

git checkout -b [分支名]
git switch -c [分支名] //最新的git才可用

创建远程端的分支到本地

git checkout -b dev origin/[分支名]

把远程端的最新提交pull到本地

git pull
// 如果git pull提示no tracking information,则说明本地分支和远程分支的链接关系没有创建
// 用命令git branch --set-upstream-to <branch-name> origin/<branch-name>

切换到指定分支

git checkout [分支名]
git switch [分支名] //最新的git才可用

合并指定分支的内容到当前分支
两个分支修改同一个文件再合并时会产生冲突,需手动修改

git merge [分支名]
// 默认使用fast forward,会丢掉分支合并信息
git merge --no-ff -m "message" [分支名]
// 使用--no-ff可以保留分支合并信息

删除分支

git branch -d [分支名]
// 强行删除未合并的分支
git branch -D [分支名]

查看分支合并图

git log --graph
git log --graph --pretty=oneline --abbrev-commit

如果需要在其余分支工作的时候修复主分支bug,则需要保护其余分支不被顺带提交

git stash

显示stash的分支

git stash list

恢复stash的分支

// 全部恢复
git stash pop
// 单个恢复
git stash apply stash@{0}

10、标签

标签不同于分支的指针,一旦打上,就不会移动

打上标签(需先切换到指定分支上)

git tag <tag name>

查看所有标签

git tag

对某次commit打上标签

git tag <tag name> <commit id>

查看标签详细信息

git show <tagname>

推送标签到远程

git push origin <tagname>
git push origin --tags

删除本地标签

git tag -d <tag name>

删除远程标签

// 先删除本地标签
git tag -d <tag name>
git push origin :refs/tags/<tag name>

11、中文文件标题乱码

在git bash中输入

git config --global core.quotepath false
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值