专栏首页IT码农git相关操作

git相关操作

linux、git bash如何生成ssh key

1.Centos安装及配置

$ yum install -y git

2.生成ssh-key

# 生成ssh key,公钥添加到gitlab,用于账号认证。生成过一次就不需要再次生成了。
$ ssh-keygen
# 运行命令后,按3次回车即可
 
 
# 拷贝公钥文件
$ cat ~/.ssh/id_rsa.pub

3.clone仓库

# 克隆仓库
$ git clone <url>

4.配置

#配置用户信息(邮箱用公司邮箱)
$ git config --global user.name <username>
$ git config --global user.email <email>

5.增加/删除文件

# 添加文件到暂存区
$ git add <file1> <file2>
 
# 添加目录到暂存区
$ git add <dir>
 
# 添加当前目录下所有已修改和未跟踪文件到暂存区
$ git add .
 
# 删除文件,同时删除本地和暂存区文件
$ git rm <file>
 
# 将文件从暂存区删除,保留工作区文件
$ git rm --cached/staged <file>
 
# 重命名文件
$ git mv <file> <file-new>

# 忽略原来未改变的文件权限
$ git config --add core.filemode false
$ git checkout vendor/

6.提交代码

# 提交暂存区内容到本地仓库
$ git commit -m <"message">
 
# 跳过暂存区,提交本地所有修改到本地仓库(不包含新添加的文件)
$ git commit -am <"message">
 
# 追加提交,上一次修改漏提了一个文件
# 如果上一次提交后代码没有变化,此命令可以改写上一次的提交日志
$ git commit --amend -m <"message">

7.分支

# 列出所有本地分支,"*"号开头的为当前分支
$ git branch
 
# 列出所有远程分支
$ git branch -r
 
# 列出所有本地分支和远程分支
$ git branch -a
 
# 切换分支
$ git checkout <branch_name>
 
# 以本地分支当前状态,新建分支并检出该新分支(未提交的修改也将带到新分支)
$ git checkout -b <branch_name>
 
# 以远程分支新建本地分支,检出该分支,并和远程分支建立跟踪关系
$ git checkout -b <branch_name> <remote_name>/<remote_branch>
# 例如: git checkout -b FEA/BUG-002 origin/FEA/BUG-002
 
# 切换到上一个分支
$ git checkout -
 
# 建立当前分支与远程分支的跟踪关系
$ git branch --set-upstream-to=<remote_name>/<branch_name>
# 例如: git branch --set-upstream-to=origin/develop
 
# 合并本地分支到当前分支
$ git merge <branch_name>
 
# 合并远程分支到当前分支
# 合并前,先要执行git pull/fetch
$ git merge <remote_name>/<branch_name>
 
# 删除本地分支(只能删除已合并分支)
$ git branch -d <branch_name>

8.标签

# 列出所有tag
$ git tag
 
# 从指定commit新建tag
$ git tag <tag_name> <commit>
 
# 删除本地tag
$ git tag -d <tag_name>
 
# 推送指定tag
$ git push <remote_name> <tag_name>
 
# 推送所有tag
$ git push --tags <remote_name>
 
# 以指定tag新建分支
$ git checkout -b <branch_name> <tag_name>

9.远程同步

# 下载所有远程仓库更新
$ git fetch <remote_name>
# 例如: git fetch origin
 
# 显示远程仓库地址
$ git remote -v
 
# 显示指定远程仓库信息,包括有哪些远程分支等
$ git remote show <remote_name>
 
# 添加远程仓库
$ git remote add <remote_name> <url>
 
# 清理远程分支
$ git remote prune <remote_name>
# 如果远程仓库删除了某些分支,此命令会将远程分支从本地列表中删除
 
# 拉取远程仓库指定分支的更新,并合并到当前分支
$ git pull <remote_name> <branch_name>
# 例如: git pull origin master
# 此命令会拉取origin仓库所有更新,并合并最新远程master到当前分支
 
# 推送本地分支到远程仓库
$ git push <remote_name> <branch_name>
# 例如: git push origin master
# 此命令推送当前master分支到远程仓库
 
# 推送所有分支到远程仓库
$ git push --all <remote_name>

10.撤销

# 取消工作区文件的修改
$ git checkout -- <file>
 
# 将指定文件从暂存区撤出
$ git reset -- <file>

11.设置忽略列表

# 新建一个名为.gitignore文件,可将此文件提交到git仓库,语法如下:
*~             #忽略所有以波浪号(~)结尾的文件
*.a            #忽略所有以.a结尾的文件
!lib.a         #但lib.a除外
/TODO          #仅忽略项目根目录下的TODO文件,不包含subdir/TODO
build/         #忽略build/目录下的所有文件
doc/*.txt      #忽略doc/notes.txt,但不包括doc/server/arch.txt

G

M

T

Detect languageAfrikaansAlbanianArabicArmenianAzerbaijaniBasqueBelarusianBengaliBosnianBulgarianCatalanCebuanoChichewaChinese (Simplified)Chinese (Traditional)CroatianCzechDanishDutchEnglishEsperantoEstonianFilipinoFinnishFrenchGalicianGeorgianGermanGreekGujaratiHaitian CreoleHausaHebrewHindiHmongHungarianIcelandicIgboIndonesianIrishItalianJapaneseJavaneseKannadaKazakhKhmerKoreanLaoLatinLatvianLithuanianMacedonianMalagasyMalayMalayalamMalteseMaoriMarathiMongolianMyanmar (Burmese)NepaliNorwegianPersianPolishPortuguesePunjabiRomanianRussianSerbianSesothoSinhalaSlovakSlovenianSomaliSpanishSundaneseSwahiliSwedishTajikTamilTeluguThaiTurkishUkrainianUrduUzbekVietnameseWelshYiddishYorubaZulu

AfrikaansAlbanianArabicArmenianAzerbaijaniBasqueBelarusianBengaliBosnianBulgarianCatalanCebuanoChichewaChinese (Simplified)Chinese (Traditional)CroatianCzechDanishDutchEnglishEsperantoEstonianFilipinoFinnishFrenchGalicianGeorgianGermanGreekGujaratiHaitian CreoleHausaHebrewHindiHmongHungarianIcelandicIgboIndonesianIrishItalianJapaneseJavaneseKannadaKazakhKhmerKoreanLaoLatinLatvianLithuanianMacedonianMalagasyMalayMalayalamMalteseMaoriMarathiMongolianMyanmar (Burmese)NepaliNorwegianPersianPolishPortuguesePunjabiRomanianRussianSerbianSesothoSinhalaSlovakSlovenianSomaliSpanishSundaneseSwahiliSwedishTajikTamilTeluguThaiTurkishUkrainianUrduUzbekVietnameseWelshYiddishYorubaZulu

Text-to-speech function is limited to 200 characters

Options : History : Feedback : Donate

Close

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • git部署线上项目

    2.还有就是目录的所有者何所有组的问题chowm -R git:git 目录

    botkenni
  • CentOS7下gogs安装总结

    七、使用浏览器访问http://IP:3000,完成配置安装,建议使用SQLite:

    botkenni
  • 写Laravel测试代码(2)

    在写Laravel测试代码(一) 中聊了关于如何提高 laravel 数据库测试性能,其实简单一句就是:每一个test case, 只重新 seed 被污染的表...

    botkenni
  • git命令小记

    Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。 Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开...

    李小白是一只喵
  • Terminal配置

    若想要源代码可以参考我的GitHub:https://github.com/SeptemberBeryl/wire/blob/master/README.md,...

    Centy Zhao
  • 将 HEXO 部署到VPS

    hexo 可以部署在github,conding。当有了一个 vps 之后可以把 hexo 部署到 vps ,步骤如下:

    tanmx
  • Git 命令基本应用

    提交已经Tracked的文件:git commit -m "commit words"

    Rekent
  • git以及github的使用(1)

    http://my.oschina.net/bxxfighting/blog/378196

    bear_fish
  • Git知识总览(一) 从 git clone 和 git status 谈起

    本篇博客是整理git相关知识的第一篇,因为之前一直是用SourceTree对Git的命令行操作用的不是特别熟,于是乎过了一遍ProGit(链接:https://...

    lizelu
  • 【Github】Github命令行快速使用教程及常见问题解决

    生成ssh key,使用命令 “ssh-keygen -t rsa -C “your_email@youremail.com””,your_email是你的em...

    后端技术漫谈

扫码关注云+社区

领取腾讯云代金券