git常见的最简单的命令记录

一、git的基本操作,不讲具体的原理,只有一些在实际中经常会用到的命令

1、下载git下载地址

2、配置git ssh

(1) git config --global user.name "username" 
    username是github的用户名
(2) git config --global user.email "usermail"
    usermail是注册的邮箱账号
(3) ssh-keygen -t rsa -C 'usermail'
    创建ssh
(4) 打开.ssh/id_rsa.pub文件,将添加到github上

 

3、git新建仓库,可以直接在github上新建仓库

4、配置文件名大小写敏感(默认时敏感的,会明确区分大小写)

git config core.ignorecase false

5、克隆远程仓库到本地

git clone url
例如:git clone https://github.com/yangpan4485/git_hahah.git

6、查看当前修改文件的状态

git status  //建议多执行这个命令,可以知道自己修改了哪些内容

7、查看已被忽略的文件

git status --ignored

8、将文件添加到本地暂存区

git add filename/dirname

9、git add撤销

  撤销单个文件

git reset HEAD filename/dirname

  撤销全部添加的文件

git reset --mixed
或者
git reset HEAD .

10、将暂存区里面的内容提交到本地

git commit -m "message"

11、撤销git commit

git reset --soft HEAD^

  撤销多次commit

git reset --soft HEAD^N

12、使用上次的commit,不产生新的commit(建议不要这么做)

git commit --amend

13、将本地仓库的内容推送到远程仓库

git push

  将本地仓库的内容强制推送到远程仓库,使用场景有git commit --amend只能使用git push -f,或者本地仓库的commit落后于远      程仓库的commit,一般用于版本回退

git push -f

14、将文件恢复到最开始的样子(不保留改动)

  将单个文件恢复最开始的样子

git checkout - filename
git restore filename

  将当前目录以及当前目录的子目录文件恢复成最开始的样子

git checkout -- .

 15、切换分支

git checkout branch-name

16、快速切换分支到上次使用的分支

git checkout -

17、创建分支

git branch branch-name

18、创建分支并切换分支

git checkout -b branch-name

19、查看提交的历史

git log
git log --oneline  // 查看提交历史只显示一行
git log --follow filename  // 查看重命令过后的文件的提交历史

二、git扩展命令

1、重命名文件,重命名之后如果要看文件的commit,需要使用git log --follow filename

git mv src dest

 2、合并分支

git merge branch-name

3、git merge撤销

  merge 已完成撤销

git reset --hard commit-id  //commit-id为merge前的commit-id

  merge 有冲突未完成,撤销

git merge --abort

merge 有冲突时,想要保留另外一个分支的内容

git reset --hard origin/master  // 比如想要保存的是 master 的内容

4、回退版本,回退完如果要推代码,要使用push -f

git reset --hard commit-id
一般经常使用的是
git reset --hard HEAD  // 将文件恢复到最开始的地方

5、清除文件

git clean -f 删除当前目录下没有被track过的文件,但是不会删除.gitignore里面的文件
git clean -n 告诉你git clean -f 要删除的文件
git clean -f path 删除指定目录下面没有被track过的文件
git clean -xf 删除当前目录下面没有被track过的文件,不管是不是.gitignore里面的文件
git clean -df 删除当前目录下面没有被track过的文件和文件夹

6、将当前仓库恢复到最初始的状态,注意这一点会删除你新加的文件

1、git reset --hard HEAD
2、git clean -xdf

7、同步远程分支的代码

git pull 远程仓库名 远程分支:本地分支
git pull 远程仓库名 远程分支  // 如果本地分支是当前分支可以不加本地分支名
git pull // 如果想要同步的分支当前仓库的当前分支,可以直接使用git pull
git pull = git fetch + git merge

8、拉取远程分支的代码

git fetch 远程仓库名 分支名

9、使用rebase的方式同步远程分支代码

git pull --rebase

10、配置默认的git pull 为 git pull --rebase

git config --bool pull.rebase true

11、git pull之后如何撤销,当我们发现git pull之后之后的东西不是我们想要的,还要撤销这次git pull操作

(1)如果知道你在git pull之前的commit id,可以直接使用git reset操作

git reset --hard commit_id

(2)当然大多时候我们都是记不到的,这个使用git reflog查看你的变更记录

  可以看到我这边有两次commit记录,一次是pull的,一次是pull之前的,这个时候的我们要恢复的commit id就是pull之前的那一个,这个时候使用步骤1就可以撤销这一次pull操作了

12、从历史中删除一个文件,不然回退版本就可以看见文件

git filter-branch --tree-filter 'rm -f passwords.txt' HEAD

13、查看本地分支

git branch

  查看本地和远程分支

git branch -a

14、删除本地分支

git branch -d branch-name
git branch -D branch-name

  删除远程分支

方法一、直接在远程服务器里面删除
方法二、git push origin --delete branch-name

15、查看文件的行记录

git blame filename

16、将本地修改保存起来和恢复本地保存的修改

git stash
git stash pop

17、二分法查找问题bisect参考文章

git bisect

18、显示本地所有仓库的commit

git reflog

19、将某些commit合入到现在的分支

git cherry-pick commit-id

20、更新 submodel

git submodule update --init --recursive

git参考文档:https://git-scm.com/book/zh/v2
                      https://www.bookstack.cn/read/git-doc-zh/docs-37.md

写在最后:有写错的大家可以指正出来,或者其他git常用到的命令也欢迎大家一起交流

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值