文章目录
git服务地(gitHub或者自建的GitLab平台地址)
1.账号申请
自行完成此步骤,可以根据页面提示自行盛情
2.登录密码修改
3.个人项目相关信息
3.1查看用户名(请勿随意修改)
3.2找到我相关的项目
3.3选择进入想要访问的项目
3.4 获取项目下载的地址
- HTTP 下载地址 http://ip/项目组名/工程名.git
- SSH 下载地址 ssh://git@ip:端口/项目组名/工程名.git
http和ssh的地址可以再github上找到
4. http 方式初始下载代码(Windows 操作)
-
**备注:**这种方式类似svn checkout,仅针对代码的初次下载
git clone -b V2.9.0 http://ip/工程组名/工程名.git hs-xh-master
-b V2.9.0 下载的分支版本,默认情况下就是master版本
hs-xh-master 本地文件目录,默认的情况下就是代码本身的根目录
- 备注: 密码不管输入错误还是成功都会被保存(这一点不如svn)
4.1密码输入错误,提示没有权限访问
4.2修改密码
1.打开控制面板(快捷打开Win+R,输入control);
2.点击打开用户账户;
3.点击打开凭证管理(windows凭证管理栏);
4.普通凭证下拉打开有你已存在的git账号密码,删除或者修改。
4.3密码输入成功,开始下载
4.4 url中带用户名密码的形式(不建议使用)
git clone http://username:password@remote
remote 代表http形式的地址的后半部分,除了http://以外的内容
git clone http://tianyang:tianyang@ip/xiehe/xh.git -b 1.1.0
用户名和密码里可能包含特殊字符,需要先进行UrlEncode 处理,否则无法正常识别
5. 代码更新
git的分支不同于svn,这里分支和主干是一个地址,根据参数来区分主干还是分支
###5.1 进入下载代码的根目录
cd ./hs-xh-2.9.0/
5.2 查看目前的代码的分支情况
git branch -a
git branch -d branchName
删除本地名称为branchName的分支
本地分支 直接分支名称 temp
- 备注:
- 带*的为正在使用的版本,
- 其中master是本地分支,前面的星号*表示正在使用的分支
- 前面带有remotes的分支都是远程分支
5.3 远程代码更新
git fetch
git fetch origin V2.9.0:temp
在本地新建一个temp分支,并将远程origin仓库的V2.9.0分支代码下载到本地temp分支(临时)
git diff
git diff brancha branchb
来比较两个分支的代码的区别,branchb 默认不填值情况下就是本地在用的分支
解读: brancha(远程服务分支V2.9.0) branchb(本地V2.9.0)
brancha 比branchb 少了 红色行内容;brancha 比branchb 多了 绿色行内容
####git diff 获取两个分支的差异文件内容
git diff brancha branchb --name-only
####git diff 获取两个分支的差异文件内容并且打包
git diff brancha branchb --name-only |xargs tar -cvf health-resources0424.tar
git checkout -b 本地分支名称 远程分支名称
git checkout -b master origin/master
等价于
git branch dev 本地新建分支
git checkout dev 切换到本地dev 分支
git reset 详细介绍
git reset --hard HEAD^
回复代码到上一个提交版本,–hard参数将会blow out everything.它将重置HEAD返回到另外一个commit
git merge 所选分支必须为本地分支
git merge brancha branchb
将brancha 的内容合并到branchb,默认不填的情况下branchb 指代本地再用分支,可以不写
git pull 等价于 git fetch+git merge
git pull <远程主机名> <远程分支名>:<本地分支名>
git pull origin V2.9.0:V2.9.0
从远程V2.9.0分支同步到本地V2.9.0分支
6. 代码提交到远程仓库
git status
查看目前本地git的一个状态
git add
将变更文件加如本地仓库,类似于svn 的add file
git add . 或者 git add --all
git commit
代码提交到本地仓库
git commit -m "将本地变更内容提交"
git push
将本地代码分支的更新内容提交到git远程地址
git push <远程主机名> <本地分支名>:<远程分支名>
git push origin V2.9.0:V2.9.0
7.Git 其他操作示例
7.1设置Git全局参数
git config --global user.name "tianyang"
git config --global user.email "[email protected]"
7.2本地存在的目录提交到Git服务端
Existing folder
cd existing_folder
git init
git remote add origin git@ip:端口/xiehe/hs-xh.git
git add .
git commit -m "新建代码分支-V2.9.2之前代码提交到本地仓库"
git push -u origin master:V2.9.2
##8.Git folk 代码以后和主干保持同步更新
8.0 git 下载以后的新的代码
git clone newUrl
8.1 git remote add 添加新的远程仓库地址
git remote add yt-pay-resc ssh://git@ip:端口/pay/yt-pay.git
8.2 git 选择源分支进行更新
git pull yt-pay-resc
8.3 标准做法参考5.3进行分支合并
由于目前协和项目只会使用第三方的代码,而不会去修改,每次只需要下载新的分支代码然后远程新建新的分支
8.3.1 本地根据选定的远程仓库新建指定名字的分支
git checkout -b 3.2.32-resc yt-pay-resc/3.2.32
8.3.2 将本次的新分支和远程新分支关联(远程仓库新建分支)
git push origin 3.2.32-resc
8.4 将标记代码变成新的分支
8.4.1 查看全部远程分支
git ls-remote
git tag
8.4.2 本地新建分支(对应远程的标记)
git checkout -b 3.2.34.5-hotfix-xh 3.2.34.5 或者标记的id 都可以
8.4.3 将本次的新分支和远程新分支关联(远程仓库新建分支)
git push origin 3.2.34.5-hotfix-xh