git常用命令

2 篇文章 0 订阅
1 篇文章 0 订阅

Git

国宝 @ mongol.cc

安装

自诞生于 2005 年以来,Git 日臻成熟完善,在高度易用的同时,仍然保留着初期设定的目标。它的速度飞快,极其适合 管理大项目 。
Git可以在windows、Mac、Linux全平台系统使用。登录 https://git-scm.com/downloads 下载你系统的Git软件并进行安 装。

windows 用户我更建议安装 git for windows ,下载地址: https://gitforwindows.org/
包信 Git Bash 、Git Gui
安装后通过以下命令查看,如果显示版本号那就是安装成功了

git --version

Gui
Gui指Git的图形界面管理软件,https://git-scm.com/downloads/guis 这个网址列出了多个可供基本上所有平台使用的 Gui软件。如果要使用Gui而非命令行操作,我推荐 sourcetree 这也是我多年使用的软件,功能强大、跨平台、免费。

配置

配置文件为 ~/.gitoconfig ,执行任何Git配置命令后文件将自动创建。
第一个要配置的是你个人的用户名称和电子邮件地址。这两条配置很重要,每次 Git 提交时都会引用这两条信息,说明是 谁提交了更新,所以会随更新内容一起被永久纳入历史记录:

git config --global user.email "12345678@qq.com"
git config --global user.name "password"
常用
  1. 初始化新仓库 git init
  2. 克隆旧仓库 git clone https://github.com/houdunwang/arr.git
  3. 提交单个文件 git add index.php
  4. 提交所有文件 git add .
  5. 使用通配符提交 git add *.js
  6. 查看状态 git status
  7. 提交到仓库中 git commit -m '提示信息'
  8. 提交已经跟踪过的文件,不需要执行add git commit -a -m '提交信息' 9. 删除版本库与项目目录中的文件 git rm index.php
  9. 只删除版本库中文件但保存项目目录中文件 git rm --cached index.php 11. 修改最后一次提交 git commit --amend
  10. 查看git仓库中的所有文件 git ls-files
Log
  1. 查看日志 git log
  2. 查看最近2次提交日志并显示文件差异 git log -p -2
  3. 显示已修改的文件清单 git log --name-only
  4. 显示新增、修改、删除的文件清单 git log --name-status 5. 一行显示并只显示SHA-1的前几个字符 git log --oneline
Alias 通过创建命令别名可以减少命令输入量。
git config --global alias.c commit

可以在配置文件 ~/.gitconfig 中查看或直接编辑 下面是一个Git命令Alias配置

        a = add .
        c = commit
        s = status
        l = log
        b = branch

现在可以使用 git a 实现 git add . 一样的效果了。 系统Alias
~/.bash_profile 文件中定义

alias gs="git status"
alias gc="git commit -m "
alias gl="git log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold
blue)<%an>%Creset' --abbrev-commit  "
alias gb="git branch"
alias ga="git add ."
alias go="git checkout"

命令行直接使用 gs 即可以实现 git status 一样的效果了。 > window 系统需要使用 git for window 中的 Git Bash 软件 #### .gitignore
.gitignore用于定义忽略提交的文件
- 所有空行或者以注释符号 # 开头的行都会被 Git 忽略。 - 匹配模式最后跟反斜杠(/)说明要忽略的是目录。
- 可以使用标准的 glob 模式匹配。

.idea
/vendor
.env
/node_modules
/public/storage
*.txt
Branch 分支用于为项目增加新功能或修复Bug时使用。
  1. 创建分支 git branch dev
  2. 查看分支 git branch
  3. 切换分支 git checkout dev
  4. 创建并切换分支 git checkout -b feature/bbs
  5. 合并dev分支到master

    git checkout master
    git merge dev
    
  6. 删除分支 git branch -d dev
  7. 删除没有合并的分支git branch -D dev
  8. 查看未合并的分支(切换到master) git branch --no-merged
  9. 查看已经合并的分支(切换到master) git branch --merged
冲突 不同分修改同一个文件或不同开发者修改同一个分支文件都可能造成冲突,造成无法提交代码。
  1. 使用编辑器修改冲突的文件
  2. 添加暂存 git add . 表示已经解决冲突 3. git commit 提交完成
储藏(Stashing)

当你正在进行项目中某一部分的工作,里面的东西处于一个比较杂乱的状态,而你想转到其他分支上进行一些工作。问题
是,你不想提交进行了一半的工作,否则以后你无法回到这个工作点。
“暂存” 可以获取你工作目录的中间状态——也就是你修改过的被追踪的文件和暂存的变更——并将它保存到一个未完结变 更的堆栈中,随时可以重新应用。
1. 暂存工作 git stash
2. 查看暂存列表 git stash list
3. 应用最近的暂存 git stash apply
4. 应用更早的暂存 git stash apply stash@{2} 5. 删除暂存 git stash drop stash@{0}
6. 应用并删除暂存 git stash pop

Tag

Git 也可以对某一时间点上的版本打上标签 ,用于发布软件版本如 v1.0
1. 添加标签 git tag v1.0 2. 列出标签 git tag

发布

对mster分支代码生成压缩包供使用者下载使用,--prefix 指定目录名

git archive master --prefix='hdcms/' --format=zip > hdcms.zip

远程仓库

下面是最热的Github进行讲解,使用码云、codeing 等国内仓库使用方式一致,就不在赘述了。 创建仓库
为了完成以下示例,你需要在GitHub 创建好仓库。 [图片上传失败…(image-2d9021-1530170109688)] [图片上传失败…(image-ea7ecc-1530170109688)]

SSH

生成秘钥
使用ssh连接Github发送指令更加安全可靠,也可以免掉每次输入密码的困扰。 在命令行中输入以下代码(windows用户使用 Git Bash)


 ssh-keygen -t rsa

一直按回车键直到结束。系统会在~/.ssh 目录中生成 id_rsaid_rsa.pub,即密钥id_rsa和公钥 id_rsa.pub
向GitHub添加秘钥 [图片上传失败…(image-549506-1530170109688)]
点击 New SSH key 按钮,添加上面生成的 id_rsa.pub 公钥内容。 #### 关联远程
1. 创建本地库并完成初始提交
2. 添加远程仓库
3. 提交到仓库中
4. 提交到远程库中

git init
git remote add origin git@gitee.com:XXXXXXXX.git
如果出现fatal: remote origin already exists.​说明你已经添加过远程仓库了,输入以下命令删除远程仓库:git remote rm origin,然后再次执行第2步。
git add .
git commit -m "first commit"
如果出现nothing to commit, working directory clean​说明你已经提交好了。
git push -u origin master
如果这命令不好使 git push -u origin master -f 强制上传

  1. 查看远程库

    git remote -v

通过 clone 克隆的仓库,本地与远程已经自动关联,上面几步都可以省略。 #### pull
拉取远程主机某个分支的更新,再与本地的指定分支合并。
1. 拉取origin主机的ask分支与本地的master分支合并 git pull origin ask:ask 2. 拉取origin主机的ask分支与当前分支合并 git pull origin ask
3. 如果远程分支与当前本地分支同名直接执行 git pull

push

git push命令用于将本地分支的更新,推送到远程主机。它的格式与git pull命令相似。
1. 将当前分支推送到origin主机的对应分支(如果当前分支只有一个追踪分支 ,可省略主机名)

git push origin

2. 使用-u选项指定一个默认主机 ,这样以后就可以不加任何参数直播使用git push

$ git push -u origin master

3. 删除远程ask分支 git push origin --delete ask

  1. 本地ask分支关联远程分支并推送 git push --set-upstream origin ask

注意:

这里写图片描述

关联远程库不需要勾选
完事后假如还是不能拉代码的话再重启项目执行git branch –set-upstream master origin/master即可。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值