git连接github手把手实践
git安装过程免述,网上一大堆。
github注册过程免述,网上一大堆。
背景:已安装完成的git客户端(自己win7 64位) github注册账户一个
需求: 将本地Repository上传至github仓库;
将远程github仓库clone到本地;
一、将本地Repository上传至github仓库;
1、git部分
git客户端下,终端核心命令是两个git pull ; git push ;分别对应 拉取远端仓库文件 和 上推本地仓库文件。首先需要理解git的仓库机制,此处借用网上的图片:
所有git add上来的文件都是存放在stage块,只有在git commit的时候才会提交至master分支。注意,此时和github远程端还没有任何联系。到此处整个结构暂且留个印象。
开始初始化步骤:
进入 git bash设置提交人和邮箱:
git config --global user.name "Your Name"
git config --global user.email "email@example.com"
--global表示全局,如果单个仓库设置可以不加,只会对本地当前仓库起效。
git config --list 查看配置列表是否生效。
切换到需要建仓的目录,git init初始化一个空库(会在文件夹下看到一个.git文件夹,里面存放相关的管理信息,建仓的目录就是该仓库的名称),新建/拷贝 需要管理的代码文件到仓库目录下;
git add 新增文件名 :此时文件在对应结构图中的stage,此处可以多次add 最后一个commit;
git commit 新增/修改文件名/-a : 进行commit提交,提交完成后文件在对应结构图中的master分支;
命令执行时会进入message版本信息的填写处,一般提交要求信息必输。且此时能在gui下看到待提交的文件。
此处提交信息的录入方式是参考Linux下Vim的编辑方式,可以参考下相关知识;
i 录入信息 Esc退出录入模式 :wq 保存退出
到此为止,一个更新操作保存到本地仓库的步骤就完成了。接下来我们上传到github远端。
2、本地git与github远程端建立联系
首先需要github上建立一个Repository,这个很简单,不再细述;
有两种方式建立联系:
1)使用git bash
git remote add 远端仓库映射名称 github远端Repository地址
如图:
2)使用git GUI
Remote-Add...:
name对应 远程仓库映射名称,即bash下的org
location对应github地址
注意:这两者连接方式是相通的,比如在bash上设置过后,启动GUI发现也是会生效的
至此git本地仓库和github建立关联完毕
3、代码数据上传
1)bash下
git push -u 远程仓库映射名称 本地分支;
例如本次:
2)GUI下
Remote-push...
或者在仓库扫描完毕、提交后,直接点击下方的push按钮。
如果是以https访问,上传是会要求输入github用户名和密码的。
至此,本地仓库上传远程端结束。
二、将远程github仓库clone到本地;
1、bash命令
git init 建立本地自己的一个空仓库
git remote add 建立本地仓库和远程端仓库连接
git pull 远程仓库映射名称 本地仓库
将远程端代码文件clone本地
2、gui
选择clone
target处需要自己编写对应的仓库名,即红框处,并且!此处不需要自建对应的文件夹,否则会报已存在目录的错误,git会自己建一个自己输入仓库名为文件名的文件夹
clone即可。
三、其他
1、SSH方式连接github
在GUI处生成公钥
如果没有口令可默认为空。
生成完毕后会在User下的.ssh文件夹生成以下两个文件:
在github端的setting下录入在GUI中生成的密钥
保存即可。
测试:
四、版本管理
常用命令:
Git 全局设置
git config --global user.name "Administrator" git config --global user.email "admin@example.com"
创建一个新存储库
git clone ssh://git@c7n-gitlab.longi-silicon.com:32222/operation-ithzero001/longi-msp-mechcost.git
cd longi-msp-mechcost
touch README.md
git add README.md
git commit -m "add README"
git push -u origin master
推送现有文件夹
cd existing_folder git init git remote add origin ssh://git@c7n-gitlab.longi-silicon.com:32222/operation-ithzero001/longi-msp-mechcost.git git add . git commit -m "Initial commit"
(git commit --no-verify -m 'info') git push -u origin master
推送现有的 Git 存储库
cd existing_repo git remote rename origin old-origin git remote add origin ssh://git@c7n-gitlab.longi-silicon.com:32222/operation-ithzero001/longi-msp-mechcost.git git push -u origin --all git push -u origin --tags
查看本地分支
git branch
创建本地新分支:
git checkout -b new_branch_name
创建远程对应分支(推送本地分支到远程):
git push --set-upstream origin new_branch_name
删除本地分支:
git branch -D branch_name
参考
框架图摘自:
廖雪峰的git教程 https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/0013745374151782eb658c5a5ca454eaa451661275886c6000
joshua317 https://www.cnblogs.com/joshua317/articles/4606328.html