Git命令大全

常用

一、配置:

1、用户名:git config --global user.name "name"

2、邮箱:git config --global user.email "xxx@xx.com"

3、ssh:ssh-keygen -t rsa

在文件目录C:\Users\用户名.ssh;将id_rsa.pub的内容添加到github的SSH KEY中

二、初始化仓库:git init

三、克隆项目代码:git clone [url链接]

1、git clone

        拉取完整的仓库到本地目录,可以指定分支,深度

2、git fetch

        将远端某些分支最新代码拉取到本地,不会执行merge操作(直接切换到了远程分支,我们原本的代码及修改还留在原本的分支上,可通过cherry-pick or rebase or merge origin/name来合并远程代码到本地

(1)git fetch origin name

        将远程的name分支拉到本地

(2)git fetch origin name1:name2

        将远程的name1分支拉到本地的name2分支(如果name2不存在,将自动创建一个)

(3)git fetch origin :name2

        在本地创建一个name2分支

3、git pull

        拉取远端某分支,并和本地代码进行合并,等同于git fetch+git merge,也可以通过git pull --rebase 完成git fetch+git rebase的操作

        git pull origin master:name --rebase

四、创建并切换分支:git checkout -b name

1、git checkout -b name origin/main

        创建一个name分支,跟踪远程的mian分支

五、创建分支:git branch name

六、 切换分支:git checkout name

1、git checkout name^

        切换到name节点的父节点(头顶的)

2、git checkout name^2

        切换到name节点的第二个父节点(非头顶的)

3、git checkout origin/name

        切换到远程分支

4、git branch -f name name~3

        将name节点强制移动到上面三代

5、git branch -f name name2

        将name节点强制移动到name2节点

6、git checkout -u origin/main

        用当前分支跟踪远程分支

7、git branch-u origin/main name

        用name(已存在)当前分支跟踪远程分支

                  

七、查看分支:git branch

        查看远程分支 :git branch -r

八、将修改的文件上传到暂存区:git add .

九、将暂存区的文件上传到本地仓库:git commit -m "备注"

十、将本次修改合并进前一次修改:git commit --amend

十一、将本地仓库的修改上传到远程仓库:git push

1、git push origin master

        推送到远端master分支,git commit --ament 或 git rebase可能造成版本冲突,可以用git push origin master -f 强制推送

2、git push origin name1:name2

        将本地的name1分支推送到远程的name2分支;如果name2分支不存在,将在远程创建一个

3、git push origin :name2

        删除远程仓库的name2分支

十二、查看本次修改:git status

十三、查看历史版本:git log

十四、撤销变更:git reset HEAD~1 

        撤销一个版本修改,回到上一个版本,但是不能同步到远程仓库,要想同步到远程仓库,要用 git revert name

十五、合并提交:git cherry-pick name1 name2...(name is objectID)

十六、合并节点:

1、git rebase name1 name2

        将name2节点合并到name1节点下面

2、git rebase name

        将当前节点放在name节点下面

(1)git rebase -i name~4

        获取name向上四代的节点信息(可修改顺序)

3、git merge

        将当前节点和name节点合并成一个新的节点

十七、标签:git tag v1 name

十八、查找距当前版本最近的提交:git describe name

不太常用

1. 查看object内容:git cat-file -p 编号

2. 查找悬空object:git fsck --lost-found

3. git reflog expire --expire=now --all

4. 打包object,删除悬空object:git gc --prune=now 

多人协作提交流程

拉出一个共工作分支:git checkout -b name

开发完成后提交代码:git add .        git commit -m "备注"

切换回主分支(要和到的分支):git checkout master

如果本地主分支不是远程的最新提交,拉去远程最新提交:git pull --rebase

切换回工作分支:git checkout name

和到主分支:git rebase master

推到远程仓库:git push 或  git push origin HEAD:name 或者加个--force选项

如果想将本次修改和上一次提交共用一个节点或想要修改上一次提交的备注:git commit --amend

 00. 删除文件

删除github上的文件 -- 使用github删除和使用git删除_github删除文件-CSDN博客

图形化练习Learn Git Branching

操作介绍:

levels 回到关卡界面

reset or undo 重置本关

objective 获取本关提示

show soluation 看答案

git feakTeamwork 在远程分支模拟提交

Tab键补全

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值