成为优秀程序员必备的Git操作


点击上方“蓝字”关注本公众号
团队协作必备 Git的使用 Git简介
  • Git是目前世界上最先进的分布式版本控制系统

  • git的使用,主要包括:

  • 本地仓库的命令

  • 远程仓库的命令

  • 项目需求、页面、模型类的设计,及页面的使用


安装
sudo apt-get install git

安装完毕以后,可以运行如下命令查看是否安装成功

git
远程仓库


Git是分布式版本控制系统,同一个Git仓库,可以分布到不同的机器上。首先找一台电脑充当服务器的角色,其他每个人都从这个“服务器”仓库克隆一份到自己的电脑上,并且各自把各自的提交推送到服务器仓库里,也从服务器仓库中拉取别人的提交。可以自己搭建这台服务器,也可以使用GitHub网站。

1.创建github账号

  • 本地Git仓库和GitHub仓库之间的传输是通过SSH加密的

  • step1:创建项目的SSH Key


ssh-keygen -t rsa -C "youremail@example.com"


  • 查看你生成的公钥


cat ~/.ssh/id_rsa.pub 


  • 创建完成后,在用户主目录里找到.ssh目录,里面有id_rsa和id_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人

  • step2: 登录github注册或登录账号,打开“settings”的“SSH Keys”页面,然后,点“New SSH Key”,填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容,点“Add Key”,你就应该看到已经添加的Key

2.创建远程库

  • 登陆GitHub

  • 在右上角找到“new repository”按钮,创建一个新的仓库

3.从远程库克隆

  • 将github上的项目,克隆到本地一份


git clone git@github.com:账号名/项目名.git

4.与远程库交互

  • 从远程库获取到本地


git pull


  • 将本地提交远程库


git push origin master

注意:每次提交前,需要先获取,解决冲突后再次提交

本地仓库

1.创建本地仓库

  • 创建空目录


mkdir test7
cd test7
pwd  #pwd命令用于显示当前目录。


  • 在目录下创建本地仓库


git init


  • 创建成功后


这个目录默认是隐藏的,用ls -ah命令就可以看见
  • 版本库就是一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改、删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以“还原”

2.工作区与暂存区

  • 使用IDE打开目录,创建项目,将文件添加到暂存区


git add 文件1 文件2 ...
git add 目录


  • 使用暂时区的内容恢复工作区的内容


git checkout -- 文件名


  • 查看暂存区的状态


git status


  • 列出本地分支和远程分支


git branch -a 


  • 切换到新的分支


git checkout 分支名

3.暂存区与仓库区

  • 第一次使用git时需要配置自己的用户名和密码


git config --global user.email "you@example.com"
git config --global user.name "Your Name"


  • 将暂存区的记录添加到仓库区


git commit -m '本次提交的说明信息'


  • 查看仓库区的历史

当前版本的历史版本:git log
简版显示:git log --pretty=oneline
历史命令:git reflog
  • 在Git中,用HEAD表示当前版本,也就是最新的提交3628164…882e1e0(注意我的提交ID和你的肯定不一样),上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100

  • 对比工作区和仓库区中某版本某文件的不同

git diff HEAD -- 文件名


  • 对比两个版本的差异 先查看两个版本的id


git diff b70bdf95b6a7cb3e08e d2087ff6c647cde6f31


  • 回退历史版本到暂存区

# 撤销add
git reset
git reset HEAD^或版本号
# 回退到上个提交历史
git reset --soft + 提交的id


  • 把分支推送到远程,建立与本地的连接

# 假设分支名为features_dev
git push origin features_dev:features_dev

git branch --set-upstream-to=origin/features_dev features_dev


  • 把自己的分支推送到主分支 master为主分支,features_dev为自己的分支

git checkout master
git pull
git merge features_dev
git push


  • 查看标签+打标签(主要为了日后回退代码某个版本使用)

# 查看标签
git tag
# 打标签
git tag v1.0.1  
# 推送cangku
git push origin --tags  

4.删除文件

  • 依次执行如下命令

rm 文件名
git rm 文件名
git commit -m '说明信息'
git push


  • 删除分支列表

删除远程已删除的分支列表

git remote show origin

删除本地版本库上那些失效的远程追踪分支
git remote prune origin 

仅看这些命令对于一个新接触git的人来说肯定是有难度的,所以这个过程一定要自己建立一个本地仓库,一步一步操作,这样才是学习git的正确姿势。

—————————————————————————————————

推荐阅读:

程序员必备:变量命名神器-Codelf

60 个让程序员崩溃的瞬间


推荐一些经典的编程从入门到进阶的书籍-附下载资源

自学python需要注意的问题


今日福利:

在【panda一块砖】后台,

回复【网盘SVIP账号8月16号】,获取今日百度网盘svip账号

回复【二级C】,获取二级C语言考试资料

回复【GitHubDesktop】,获取github桌面版,不用再因为敲错命令而苦恼,UI界面操作,极大提高小白的Git能力

点个 在看 也是一种支持~

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,222评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,455评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,720评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,568评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,696评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,879评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,028评论 3 409
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,773评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,220评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,550评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,697评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,360评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,002评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,782评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,010评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,433评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,587评论 2 350

推荐阅读更多精彩内容