GIT概要
2019-05-09 13:34 huoit 阅读(192) 评论(0) 收藏 举报git是一个分布式的版本控制系统,相比SVN/TFS是集中式的版本控制。git相当于在每台机器上保存了完整的元数据,可以离线使用。而集中式的保存了服务端某版本的文件,而且无法离线操做
git 分本地分支和远程分支,正常操作流程
先创建库,目前服务端有很多如gitlab,gogs…等,web操作即可,配置权限等等
客户端:
1.先git clone https://xxx/xx.git
2.然后根据情况git branch 创建各种分支
3.编辑文件代码git add .+git commit 添加提交到缓存区
4.然后git push到远程库
一 本地分支
克隆 http://用户名:密码@库地址
$git clone http://username:password@remote
创建本地分支,然后切换到dev分支
$ git checkout -b dev
git checkout命令加上-b参数表示创建并切换,相当于以下两条命令:
$ git branch dev
$ git checkout dev
然后,用git branch命令查看当前分支:
$ git branch
* dev
master
添加文件 "Readme.txt", 提交到本地dev分支
$ git add Readme.txt
$ git commit -m "branch dev test"
dev分支的工作完成,切换回master分支:
$ git checkout master
把dev分支的工作内容合并到master分支上:
$ git merge dev
git merge命令用于合并指定分支到当前分支。合并后,再查看Readme.txt的内容,和dev分支的最新提交是完全一致的。
Fast-forward信息代表:“快进模式”,直接把master指向dev的当前提交,合并速度快。
并非每次代码合并都能实现Fast-forward。
合并完成后,删除dev分支:
$ git branch -d dev
删除后,查看branch,就只有master分支了:
$ git branch
* master
创建、合并和删除分支非常快,鼓励你使用分支来完成某个短期任务,合并后再删掉,比起直接在master上工作过程更安全。
二 远程分支
删除远程分支
git push origin --delete Chapater6
查看远程分支
git branch -r
或
git remote -v
拉取远程分支并创建本地分支
git checkout -b 本地分支名x origin/远程分支名x
比如:git checkout -b dev origin/master就从远程的master创建了一个本地的dev分支
切换到dev分支
git checkout dev
直接push这时如果远程服务端没有dev分支,则会创建dev分支关联本地dev;另外push origin:dev 空分支则会删除分支
git push origin dev
#加参数-u 则在dev分支后面可以直接git push就会根据跟踪关系自动推送
git push -u origin dev
git push <远程主机名> <本地分支名>:<远程分支名>
查看所有分支
git branch -a
注:remote/origin/[name]表示的是远程分支
清除本地更改
// 清楚所有更改
git checkout . && git clean -xdf
// 清除某一个文件的更改
git checkout -- file
#本地库合并线上 #先克隆线上 git clone http://gitlab.prod.com/scm.git # 创建一个别名为local 远程地址为url参数的 版本库,注意不是分支,如果有多个版本库,那就有多少个版本库就创建多少次, #git remote 别名 http://xx.com/xx.git #新增本地库,注意本地库、线上库要初始化好分支 git remote add local https://local.com/projectname #下载本地源上的分支 git fetch local #从本地master创建一个本地分支 git checkout -b local2prod local/master
#切回线上分支
git checkout master #合并local2prod到线上master git merge local2prod --allow-unrelated-histories
git add .
git commit -m "合并"
git push
https://www.cnblogs.com/lfzm/p/10681412.html
准备:安装GIT、安装VSCode、GitHub上添加
1、初始化
新建本地文件xmai
# 全局配置加上命令--global ,如果只想在本文件夹则去掉此参数即可;
> git init > git config --global user.name "xxx" > git config --global user.email xxx@xx.com
也可以手动直接修改->xmai->.git->config文件里的内容
[user] name = xxx email = xx@xx.com
添加github项目地址
>git remote add origin https://github.com/xxx.git
初始化并首次合并
>git branch --set-upstream-to=origin/master master >git pull --rebase origin master
切换分支、创建分支
git checkout testing
git branch dev
-
github私有仓库SSH秘钥
生成秘钥,一直回车就可以,linux直接执行命令,windows11+,powershell也可以直接命令,生成目录默认到 : 用户/.ssh
ssh-keygen -t rsa -C xxx@.com
打开生成的id_rsa.pub
打开github->setting->ssh,添加-Auth
拉取或提交代码,首次git命令行提示输入:yes
2.如果还有别的GIT也要用,而且你想生成不同的秘钥,windows环境下powershell
ssh-keygen -t rsa -C xxx@onlyedu.com -b 2048 -f $env:USERPROFILE/.ssh/azure_id_rsa
在上述用户/.ssh添加config文件
# 注释以 # 开头,用于对配置进行说明 # Host 指定主机的别名或特定配置的名称,这个名称可以在 SSH 连接时使用 Host azure-git # HostName 指定远程主机的域名或 IP 地址 HostName <Git_Hostname> # User 指定连接远程主机所用的用户名 User xxx # IdentityFile 指定要用于此主机的私钥文件的路径 IdentityFile "$env:USERPROFILE\.ssh\azure_id_rsa"
示例:
# 第一个主机配置 Host github HostName github.com User git IdentityFile ~/.ssh/id_rsa_github # 第二个主机配置 Host azure-git HostName <Azure_Git_Hostname> User git IdentityFile ~/.ssh/azure_id_rsa
测试下,successfully字样
ssh -T git@192.168.1.203 ssh -T git@github.com
1、如果您觉得阅读本文对您有帮助,请点一下“推荐”按钮,您的“推荐”将是我最大的写作动力!
2、欢迎各位转载,但是未经作者本人同意,转载文章请在文章页面明显位置标明作者和原文连接,否则保留追究法律责任的权利。
作者博客: http://www.cnblogs.com/xmai/
浙公网安备 33010602011771号