Git 快速上手笔记

Git notice

                		( Author:freesheep720 )
  1. Git官网下载地址:https://link.zhihu.com/?target=https%3A//git-scm.com/downloads

  2. 输入用户名和邮箱:$ git config --global user.name “Your Name” // 输入用户名
    $ git config --global user.email “email@example.com” // 输入邮箱

  3. 创建版本库:$ mkdir // 创建一个空目录(windows尽量别用中文目录)
    $ cd // 进入该目录
    $ git init // 初始化Git仓库
    $ git add // 添加文件到仓库(删除文件用 $ git rm )
    $ git commit -m // 提交文件到仓库

  4. 查看工作区状态:$ git status // 查看工作区状态
    $ git diff //查看修改内容(diff 即 different)

  5. 版本回退:$ git reset --hard commit_id // 回退版本,commit_id上一个版本写法HEAD^,
    上上个版本写法为HEAD^^,太多写法为
    HEAD~n
    $ git log // 查看提交历史
    $ git reflog // 查看历史命令

  6. 撤销修改:$ git checkout – file // 撤销文件在工作区的所有修改
    $ git reset --HEAD // 撤销文件在暂存区的修改放回工作区

  7. 设置秘钥:$ ssh-keygen -t rsa -C “youremail@example.com” // 执行后生成.ssh目录,
    里面有私钥id_rsa和公
    钥id_rsa.pub两个文件

  8. 添加远程仓库:$ git --version // 查看Git版本
    $ git config --global init.defaultBranch main // git在2.28.0上,重新设置git
    默认分支master为main
    $ git init // 工作空间创建.git文件夹(默认隐藏了该文件夹) 初始化
    $ git add // 添加文件到暂存区
    $ git commit -m //添加文件到仓库
    $ git remote add origin gitlab当前仓库IP直接复制 .git // 关联远程仓库,执
    行后可不必执行后面
    两步(origin为远程库
    默认命名)
    $ git remote add origin http://xxxxxxxxx.git // 本地仓库和远程github关联
    $ git pull --rebase origin main // 远程有readme.md,拉一下 (可跳过)
    $ git push -u origin main // 推送main分支所有内容,后面更新推送
    可去掉 -u ,main换成其他分支名称即
    可(旧版main为master)

  9. 删除远程库:$ git remote -v // 查看远程库信息
    $ git remote rm // 根据名字删除远程库绑定

  10. 克隆仓库: $ git clone gitlab当前仓库IP直接复制 .git // 从gitlab克隆到本地

  11. 创建与合并分支:$ git branch <分支name> // 创建分支
    $ git checkout 或者 git switch // 切换分支(Switch为新
    写法)
    $ git checkout -b 或者git switch -c // 创建+切换分支
    (Switch为新写法法切换)
    $ git branch // 查看分支
    $ git merge // 合并某分支到当前分支
    $ git branch -d // 删除分支

  12. 禁用Fast forward:$ git merge --no-ff -m <分支name> // --no-ff参数,表示
    禁用Fast forward,禁用后合并要创建一个
    新的commit,所以加上-m参数,把commit描述写进去
    $ git log --graph --pretty=oneline --abbrev-commit // 查看分支历史

  13. BUG分支:$ git stash // 保存当前工作现场
    $ git stash list // 查看之前所保存的工作现场stash内容存储位置
    $ git stash apply // 恢复但不删除stash内容,删除stash需要使用命令:
    $ git stash drop 完成删除
    $ git stash pop // 恢复且删除stash内容
    $ git cherry-pick // 把bug提交的修改“复制”到当前分支

  14. feature分支:$ git branch -D // 强行删除,-d 删除

  15. 抓取分支:$ git checkout -b origin/ // 多人协作其他人必须创建远程
    origin的分支到本地
    $ git pull // 把最新的提交从origin/抓下来(抓取失败需先执行下一条指令
    指定链接再重新抓取)
    $ git branch git branch --set-upstream-to origin/ // 指定本地分支与远程origin/分支的链接

  16. Rebase变基:$ git log --graph --pretty=oneline --abbrev-commit // 查看历史分支
    $ git rebase // 把本地未push的分叉提交历史整理成直线

  17. tag标签:$ git tag <标签name> // 创建一个新标签为对指定分
    支创建标签,可略
    $ git tag //查看所有标签
    $ git tag -a -m // 创建带有说明的标签,
    用-a指定标签名,-m指定说明文字
    $ git show // 查看文字说明
    $ git push origin // 推送某个标签到远程
    $ git push origin --tags // 一次性推送全部尚未推送到远程的本地标签
    $ git tag -d // 删除本地创建的标签
    $ git push origin :refs/tags/ // 从远程删除标签,如果没推送到远程
    可不必

  18. 搭建Git服务器:
    搭建Git服务器需要准备一台运行Linux的机器,建议用Ubuntu或Debian,假设已经有sudo权限的用户账号,开始安装:
    (1)安装git:$ sudo apt-get install git
    (2)创建一个git用户,用来运行git服务:$ sudo adduser git
    (3)创建证书登录:收集所有需要登录的用户的公钥,就是他们自己的id_rsa.pub文件,把所
    有公钥导入到/home/git/.ssh/authorized_keys文件里,一行一个。
    (4)初始化Git仓库:先选定一个目录作为Git仓库,假定是/srv/sample.git,在/srv目录下输入
    命令:$ sudo git init --bare sample.git,Git就会创建一个裸仓库,裸
    仓库没有工作区,因为服务器上的Git仓库纯粹是为了共享,所以不让用
    户直接登录到服务器上去改工作区,并且服务器上的Git仓库通常都以.git
    结尾。然后,把owner改为git:$ sudo chown -R git:git sample.git
    (5)禁用shell登录:出于安全考虑,第二步创建的git用户不允许登录shell,这可以通过编
    辑/etc/passwd文件完成。找到类似下面的一行:
    git:x :1001:1001:,:/home/git:/bin/bash 改为:
    git:x :1001:1001:,:/home/git:/usr/bin/git-shell
    这样,git用户可以正常通过ssh使用git,但无法登录shell,因为我们为
    git用户指定的git-shell每次一登录就自动退出。

    (6)克隆远程仓库:现在,可以通过git clone命令克隆远程仓库了,在各自的电脑上运行:
    $ git clone git@server:/srv/sample.git

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值