Git基础命令操作:创建本地分支、更新合并、远程提交
[toc]
介绍
Git是一个开源的分布式版本控制系统,现在基本上是软件开发、深度学习等各种与敲代码有关的项目都要是Git来完成版本管理了。 当然还有其他的版本控制工具,像是SVN等,但是现在基本上都是老一批的程序员大叔们在用了。
为什么要用Git
软件开发,深度学习调参,代码肯定会有各种各种的改变,说不定这个版本还能运行,下个版本就GG了,与其找半天bug甚至根本找不出来还不如回滚旧版本。
Git有两种使用方式,Git Bash 、Git GUI
- Git Bash
对于新手特别是没接触过linux的童鞋来说,一开始就用Git bash可能会挺蓝瘦。但是,我建议用Git Bash
Git GUI
相比Git Bash,Git GUI的界面就没那么简洁啦(git bash界面确实简洁,就用户名+命令行)
功能来说Git GUI也确实没有Git Bash灵活,唯一的好(坏)处就是不用敲命令行
建议不管打算用Git Bash还是Git GUI都先了解下Git Bash的基础命令以便更快速地了解分布式版本控制,这里先只介绍Git Bash的基础命令
安装Git
下载并安装Git,在我的电脑-鼠标右键添加属性-高级系统设置-环境变量-系统变量-Path
处添加变量,例如安装路径是D:Git
,那么就添加变量
D:Gitusrbin
D:Gitusrbinssh-keygen.exe
这样就能在电脑的任意文件夹位置打开git
本地
新建
在你存放项目代码的文件夹,输入代码新建Git本地仓库
git init
新建之后会出现一个git文件夹,并且存放项目代码的文件夹会出现一个绿色的勾,表示已经同步到本地分支;命令行用户最后面有个master,表示在本地的master分支。
此时可以通过命令git branch查看本地分支
git branch #查看本地分支git branch -r #查看远程分支
git branch -a #查看所有分支
在这里先不介绍远程,先学会本地版本控制
如果需要创建其他分支,可以用切换分支的命令加上参数创建分支
git checkout dev #切换到本地的dev分支git checkout -b dev #创建并切换到本地的dev分支
更新
修改文件后,绿色的勾会变成红色的感叹号,表示更新到git的分支(如果切换到了master分支,就表示该文件没有更新到master分支,如果切换到dev分支就表示该文件没有更新到dev分支)
git add -A #将所有文件添加到暂存区git commit -m "first commit" #这一步是备注,注意这个步骤一定要有,否则会提交失败
git push -u origin master #表示提交到远程master分支,在此只是因为没有关联远程分支暂且不管
合并
如果某个分支要更新到跟另一个分支的文件一样,使用merge
假设现在是在本地dev分支
git checkout master #切换到本地mastergit merge dev #把本地dev分支合并到当前本地分支(master)中
关联远程
git checkout mastergit remote add origin https://github.com/coneycode/hexo-git-backup.git #使用https,之后介绍ssh
git fetch origin master #取回(名称为)origin服务器的master分支,即拉取远程master分支
远程
首次创建仓库提交
git init # 本地创建仓库git add -A # 提交所有文件
git commit -m "first commit" # 提交文件至本地缓存区
git remote add origin https://github.com/githubusername/githubrepositories.git #添加远程仓库
git push -u origin master #提交代码至远程仓库master分支
已有本地仓库提交
git remote add origin https://github.com/githubusername/githubrepositories.git #添加远程仓库git push -u origin master #提交代码至远程仓库master分支
如果是按照上面的方式提交,那么输入完git push -u origin master
会弹出openssh的窗口,先输入账号名(就是仓库前的那个名字),再输入密码。每次都要这样岂不是很烦,所以推荐用SSH的方式提交。
SSH
如果是使用https拉取远程分支或者提交代码的话,是要输入账号密码的,麻烦的很,但是只要使用ssh就能省去填写账号密码啦~
原理是本地生产ssh公钥和私钥,将公钥放在远程服务器(github、gitlab、coding、gitee),私钥放在本地,识别到能配对就不用填账号密码了。
ssh-keygen -t rsa -C "your_email@example.com" #生产ssh密钥,文件位置在C:Users用户名.ssh
- 登录github,头像处下拉框选择settings ;
- 点击侧边栏的
SSH and GPG keys
;
- 点击
New SSH key
,title可以任意填,并且将之前生成的 id_rsa.pub 的内容用文本编辑器打开复制到key`输入框中。
ssh -T git@github.com #在本地电脑任意位置打开git bash输入此命令确认是否成功
如果返回
Hi username! You’ve successfully authenticated, but GitHub does not provide shell access.
就说明成功啦!接下来就可以愉快地push代码了(前提是网速行,像baidu.com都打开的网速绝对不愉快)
参考资料
git官方中文文档
以上是 Git基础命令操作:创建本地分支、更新合并、远程提交 的全部内容, 来源链接: utcz.com/a/32289.html