不会Git怎么当程序员?十分钟包你会
不会GitHub可以先看下这个文章先来熟悉下GitHub
Git简介
Git是目前世界上最先进的分布式版本控制系统,在处理各种项目时都十分高效,而且非常的高大上。
Git是分布式版本控制系统,它就没有中央服务器的,每个人的电脑就是一个完整的版本库,这样,工作的时候就不需要联网了,因为版本都是在自己的电脑上。
Git工作区域
向仓库中添加文件流程
Git安装和配置
目的
通过git管理github托管项目代码
下载安装
- GIt官网下载:https://www.git-scm.com/download/win
- 一直点next,默认安装就行,可以修改下安装目录。
- 安装完打开出现这个
输入git查看一些详细信息以及指令
如输入 ls 看到下面这些就是安装成功了
基本信息设置
设置用户名和邮箱
设置用户名和邮箱,修改后提交到远程仓库能够看到是提交者,用于在团队合作开发中,表明代码作者。
1.设置用户名
$ git config --global user.name "Your GitHub Name"
2.设置邮箱
$ git config --global user.email "GitHub email@example.com"
3. 查看当前登录账号:
git config user.name
4. 查看当前登录邮箱:
git config user.email
5. 修改用户名
git config --global user.name "Your_username"
6.修改邮箱
git config --global user.email "Your_email"
输入 $ git init 启动Git。
生成ssh用于GitHub验证
在命令框中输入 $ ssh-keygen -t rsa -C "email@example.com"
按三次回车生成公钥,在C:\Users\Administrator.ssh
下找到id_rsa.pub文件,记事本打开复制公钥。
当然这里也是有提示的。
记事本打开
配置成功后他会给你发一份邮件
可以在本地测试一下配置是否成功,在Git Bush命令框(就是刚才配置账号和邮箱的命令框)中继续输入以下命令,回车
ssh -T git@github.com
这样就配好了
Git的使用
常用git命令
文件操作
mkdir 文件名:创建文件夹
cd 文件夹名:进入文件夹
touch 文件名:创建文件
git rm 文件名
复制仓库
git init:在本地初始化,创建Git仓库
git clone: 复制仓库到本地仓库。
git status:查看当前状态
提交信息
git add 【文件名】或者【 . (全部)】:将文件从工作去提交到暂存区
git commit -m “提交描述”:将暂存区提交到本地仓库
git push:将本地仓库提交到远程仓库
在使用git commit命令将修改从暂存区提交到本地版本库后,只剩下最后一步将本地版本库的分支推送到远程服务器上对应的分支了git push的一般形式为 git push <远程主机名> <本地分支名> <远程分支名> ,例如 git push origin master:refs/for/master ,即是将本地的master分支推送到远程主机origin上的对应master分支, origin 是远程主机名。第一个master是本地分支名,第二个master是远程分支名。git push origin master
如果远程分支被省略,如上则表示将本地分支推送到与之存在追踪关系的远程分支(通常两者同名),如果该远程分支不存在,则会被新建
git push origin :refs/for/master
如果省略本地分支名,则表示删除指定的远程分支,因为这等同于推送一个空的本地分支到远程分支,等同于 git push origin –delete master
git push origin
如果当前分支与远程分支存在追踪关系,则本地分支和远程分支都可以省略,将当前分支推送到origin主机的对应分支
git push
如果当前分支只有一个远程分支,那么主机名都可以省略,形如 git push,可以使用git branch -r ,查看远程的分支名
更新仓库信息
git pull:将远程仓库的改动更新到本地工作区
git remote -v:查看origin和upstream源
git remote add origin/upstream git地址:添加origin/upstream源
git fetch upstream:获取upstream源仓库的提交和改变
git checkout master:切换到master
git merge upstream/master:合并远程的master
Git本地仓库操作
创建本地库
1、创建文件夹,在该文件夹内打开Git的命令窗口
git init
主要用来初始化一个空的git本地仓库。输入命令后,会在当前目录下会自动生成.git隐藏文件夹,该隐藏文件夹就是git版本库。
下载Github上的内容
首先我们来看看将我Github上的内容复制到我的这个新建文件夹里
以我的GitHub为例
里面有这些东西,比如我想把他下载到本地,我要先找到这个的地址
git clone https://github.com/lizheng-1/cnn1.git
可以看到已经下载到本地了
向仓库添加文件
开发者在本地修改内容后,需要进入要操作的文件夹内进行git操作
git add . # . 表示当前文件夹
git commit -m "注释信息“
git push #推送到开发者仓库
3.2.1 开发者工作区–>开发者远程仓库
命令操作,打开 git bash 命令:
cd test #进入文件夹
touch one.js
git add one.js #添加需要提交的文件
git status #查看状态
git commit -m “修改XXXXXX” #提交到本地仓库
git push #从本地仓库推送到远程仓库
实战操作
- (先进入项目文件夹)通过命令
git init
把这个目录变成git可以管理的仓库
这里我创建了一个666文件夹,一个txt文件,文件夹下还有一个2.txt.。现用init初始化,出来了。git文件夹
- 把文件添加到版本库中,使用命令
git add .
添加到暂存区里面去,不要忘记后面的小数点“.”,意为添加文件夹下的所有文件。如果想提交某个文件可以git add 1.txt
- 用命令 git commit告诉Git,把文件提交到仓库。引号内为提交说明git
commit -m '提交'
- 关联到远程库git remote add origin 你的远程库地址
如:git remote add origin https://github.com/lizheng-1/cnn1
- 获取远程库与本地同步合并(如果远程库不为空必须做这一步,否则后面的提交会失败)
git pull --rebase origin master
- 把本地库的内容推送到远程,使用 git push命令,实际上是把当前分支master推送到远程。执行此命令后可能会要求输入用户名、密码,验证通过后即开始上传。
git push -u origin master
可以看到我的GitHub已经有了这两个文件
修改仓库文件
v1 li.txt 打开要修改的文件 修改后 :wq退出
git add li.txt
git commit -m '修改文件'
git status
之后打开这个,修改完成后可以按下esc然后**:wq**退出这个界面
删除仓库文件
这时候只是在自己的GitHub仓库,还没有到主程序员的GitHub仓库
解决git push代码到github上一直提示输入用户名及密码的问题
在github系统上克隆代码的地址默认采用的是http的方式,我们一般这样clone代码: git clone https://github.com/yychuyu/linux-system-programming.git 而如果采用ssh方式的话,是这样clone代码的: git clone git@github.com:yychuyu/linux-system-programming.git
解决办法很简单,将http方式改为ssh方式即可。
先查看当前方式: git remote -v
把http方式改为ssh方式。先移除旧的http的origin: git remote rm origin
再添加新的ssh方式的origin: git remote add origin git@github.com:yychuyu/linux-system-programming.git
检查一下有没改变成功: git remote -v
改动完之后直接执行git push是无法推送代码的,需要设置一下上游要跟踪的分支,与此同时会自动执行一次git push命令,此时已经不用要求输入用户名及密码啦! git push --set-upstream origin master
其实自我感觉用Git在本地操作还不如在网页上操作方便呢,在本地确实有点麻烦,而且下载上传还贼慢。但用pycharm这类软件可以通过Git直接上传会更简单。
不会Git怎么当程序员?十分钟包你会相关推荐
- 漫谈程序员(十六)健康程序猿系列之健康体魄
#漫谈程序员(十六)健康程序猿系列之健康体魄 在外行看来,谈到程序猿,大家的第一印象就是技术人员.内行其实都明白,程序猿光鲜的另一面是时时刻刻遭受到健康的威胁.可能由于平时工作忙,没有时间运动,那 ...
- 漫谈程序员(十五)——应届毕业生上海市落户政策解读
#漫谈程序员(十五)--应届毕业生上海市落户政策解读 去上海BOC工作,不免考虑是否需要将户口迁移过去.下面就结合<2016年非上海生源普通高校应届毕业生进沪就业评分办法>文件进行详细 ...
- 漫谈程序员(十八)windows中的命令subst
漫谈程序员(十八)windows中的命令subst 用法格式 一.subst [盘符] [路径] 将指定的路径替代盘符,该路径将作为驱动器使用 二.subst /d 解除替代 三.不加任何参数键入 ...
- 漫谈程序员(十八)浅谈谷歌用户体验设计准则
#漫谈程序员(十八)浅谈谷歌用户体验设计准则 ##谷歌的愿景 Google用户体验团队致力于创建有用的(useful).快速的(fast).简单的(simple).有吸引力的(engaging). ...
- java粒子特效_程序员20分钟搞定粒子效果, 仅仅200行代码
原标题:程序员20分钟搞定粒子效果, 仅仅200行代码 这粒子的打造,确实没有布局代码,稍后大家在源码上可以看到,css代码都只有几行,绝大部分代码都是java代码,而且是原生java书写的,现在很多 ...
- 程序员专属表情包,正在疯传中!
相信很多人都和小编一样喜欢收藏表情包,那么,今天就给大家搜集了一套程序员专属表情包! 程序员被BUG逼入魔的幻想 当一个刚毕业的程序员新手说在我的代码里发现了一个 bug 时程序员的样子 程序员的蜗居 ...
- Q版程序员系列表情包
随着电视剧<都挺好>的热播, 一大波表情包也开始火起来了~ 此处献上Q版苏大强变身程序员系列表情包, 看看,哪一个深得你心? 最后, 看看下面这张图 精彩回顾 ♡ 程序员究竟能干多少年? ...
- 程序员十大安全技巧(转)
摘要:涉及安全问题时,有很多情况都会导致出现麻烦.您可能信任所有在您的网络上运行的代码,赋予所有用户访问重要文件的权限,并且从不费神检查您机器上的代码是否已经改变.您也可能没有安装防病毒软件,没有给您 ...
- 最后的人 - 主机程序员十年的分享
最后是 我 一个人走过 这片海 桌面邮件叮的一声,收到了 admin 小姐姐发出的邮件,原来今天是系统操作部门主管最後一天的上班,主管买了好多小零食,大家可以到编号 xxx 柜里自己领取. 想一想原来 ...
- Git 学习笔记——程序员篇
文章目录 关于 Git Git 背后的故事 基本概念 术语中英文对照 安装Git客户端 Linux 平台安装 Windows 平台 使用 Git 客户端生成数字证书 从远程库克隆项目 创建本地版本库 ...
最新文章
- LeetCode Bulb Switcher(约数个数为奇数)
- 如何在高并发环境下设计出无锁的数据库操作(Java版本) 转载
- 操作系统习题4—进程死锁
- 磁盘显示RAW要如何办啊
- 深入理解XGBoost:分布式实现
- css 添加 referer,http中Referer和Referrer Policy
- docker的daemon.json基本配置
- 重磅开源 | 机器学习圣经《模式识别与机器学习》中文版PDF!
- ArcGIS制图表达Representation实战篇1-边界线和行道树制作
- 销售易CRM:提高管理效率需做好业绩预测
- C语音--static变量
- 安装驱动提示找不到哈希值的解决方法(WIN10)
- linux下制作dos启动u盘启动,在Linux系统下创建FreeDOS可启动U盘
- ucos 学习:STM32F107 学习板 资料收集
- qt android 浮动窗口,QT+ 状态栏+核心控件+浮动窗口
- qq农场 源码java_HappyFarm 仿QQ农场游戏源代码 - 下载 - 搜珍网
- 被低估的BIRT报表 二 Birt也可以很漂亮
- html5学生成绩表,学生成绩表excel
- CentOSnbsp;下mysqlnbsp;ERRORamp;n…
- 网站服务器1 mbps,1mbps网速快吗(1mbps相当于几g网络)
热门文章
- timespan怎么比较大小_万能小哥丨厨房墙砖哪种好?厨房墙砖怎么挑选?
- 计算器百分号如何用代码实现_如何用 100 行 Python 代码实现新闻爬虫?这样可算成功?...
- 异步fifo_异步FIFO
- java加载js_Java加载js
- java ext pagesize_更改透明图像的不透明度/更改extgstate字典的值
- android随机崩溃莫名其妙,Android CrashHandler编写自己的异常捕获的方法
- linux下找不到sqlite3头文件,关于CentOS 7下sqlite3找不到的问题解决
- java 打印不换行_Swift的print不换行打印的方法
- java并发,同步synchronize和lock锁的使用方法和注意,死锁案例分析
- 2010年最具潜力微博网站排行榜(转)