Git常用命令(用这些就够了)

创建版本库

参数配置:

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

git本地仓库初始化 :git init

添加文件到暂存区:git add <file>

添加文件到仓库:git commit -m 'message'

时刻掌握仓库当前的状态:git status

查看具体修改了什么内容:git diff

查看工作区和版本库里面最新版本的区别:git diff HEAD -- readme.txt

版本修改及撤销

回到某个历史版本:git reset --hard commit_id

查看历史纪录 : git log                git log  --pretty=oneline

查看历史命令:git reflog

撤销修改

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

把readme.txt文件在工作区的修改全部撤销,这里有两种情况:

  • 一种是readme.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;
  • 一种是readme.txt已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。

总之,就是让这个文件回到最近一次git commit或git add时的状态。

场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令:git checkout -- file

场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令:git reset HEAD <file>,就回到了场景1,第二步按场景1操作。

场景3:已经提交了不合适的修改到版本库时,想要撤销本次提交,不过前提是没有推送到远程库:git reset --hard commit_id

从版本库中删除文件:git rm <file>

删错了需要恢复:因为版本库里还有可以用:git checkout --filename

git checkout其实是用版本库里的版本替换工作区的版本,无论工作区是修改还是删除,都可以“一键还原”。

远程仓库

创建自己电脑的 SSH Key,然后将用户主目录下的 id_rsa.pub 中的内容粘贴到 github中的 settings =>SSH and GPG keys 的添加栏中:ssh-keygen -t rsa -C "youremail@example.com"    

本地已有仓库,将代码放到github上:

先在github远程仓库创建一个代码仓库,然后在本地项目中执行命令:

git remote add origin git@github.com:xxx/xxx.git

现在本地仓库就和创建的远程仓库关联起来了下一步就是将本地的代码推到远程仓库里面了:
git push -u origin master

从远程仓库克隆到本地仓库:git clone git@github.com:xxxxxxx/xxx.git

查看远程库信息:git remote -v

分支管理

由于和撤销修改存在迷惑行为,使用git switch 切换分支

查看分支:git branch

查看 远程仓库 所有分支:git branch -a   

创建分支:git branch <name>

切换分支:git checkout <name> 或者 git switch <name>

创建+切换分支:git checkout -b <name> 或者 git switch -c <name>

合并某分支到当前分支:git merge <name>

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

删除分支:git branch -d <name>

丢弃一个没有被合并过的分支需要强行删除:git branch -D <name> 

查看提交历史纪录可以查看分支合并图:git log --graph

推送分支:git push origin master

拉取最新代码:git pull

查看远程库信息: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 switch -c dev      git push origin  dev
 

标签管理

新建一个标签,默认为 HEAD,也可以指定一个commit id:git tag <tagname> 

可以指定标签信息: git tag -a <tagname> -m "blablabla..." 

查看所有标签: git tag 

推送一个本地标签: git push origin <tagname> 

推送全部未推送过的本地标签:git push origin --tags 

删除一个本地标签:git tag -d <tagname> 

删除一个远程标签:git push origin :refs/tags/<tagname>        eg.git push origin :refs/tags/v0.9

 

参考廖雪峰老师git教程

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值