Git的规范使用和常用命令

简要描述:

为了更好的团队协作,使用git的时候需要遵循一定的规范和熟悉git的命令的流程图
在这里插入图片描述

1、分支规范

  • master分支为主分支(保护分支),不能直接在master上进行修改代码和提交

  • develop分支为测试分支,所以开发完成需要提交测试的功能合并到该分支

  • feature分支为开发分支,大家根据不同需求创建独立的功能分支,开发完成后合并到develop分支

  • fix分支为bug修复分支,需要根据实际情况对已发布的版本进行漏洞修复

2、Tag 规范

采用三段式,v版本.里程碑.序号,如v1.2.1

  • 架构升级或架构重大调整,修改第1位
  • 新功能上线或者模块大的调整,修改第2位
  • bug修复上线,修改第3位

3、注释规范

当我们在使用git commit -m “message” 将代码提交到本地版本库添加注释时前面加上type 会更加清晰明了。

4、使用

第一步、从远程上获取项目

假设你已经安装好了git ,并且已经使用
git config --global user.name "你的git上的username" 和 git config --global user.email "你注册的邮箱"
自报了家门告诉git仓库是你的机器,还用了 'git config -l’查看了自己的配置
之后你需要在指定本地代码的位置,例如本案例在D盘下面

cd D:
mkdir work/
cd  /work

到你的项目下面拿到git 远程仓库的地址,然后将代码clone 到你的本地仓库
在这里插入图片描述
git clone http://127.0.0.0:8080/你的组/项目.git

第二步、新建分支

每次开发新功能,都应该新建一个单独的分支,千万不要在master上开发

扫描二维码关注公众号,回复: 5388121 查看本文章
# 获取主干最新代码 先切换到 主干 然后获取
$ git checkout master
$ git pull

# 新建一个开发分支dev_XXX_20181206_CyclekpiRedPoint
$ git checkout -b dev_xxx__20181206_CyclekpiRedPoint

新建分支的时候是需要按照实际开发情况合理命名分支:分支类型_项目_时间_开发内容
例如
① dev分支:dev_XXX_20181206_Rrrr
② bug分支:bug_XXX_20181206_Rrrr
③ feature分支:f_XXX_20181206_Rrrr
这样做是因为git是有主分支和辅助分支之差的,分工明确,能让开发者更加清晰知道自己处于哪个分支上

1、主分支

① master :随时可供在生产环境中部署的代码(永远不要将代码直接提交到该分支)
  ② dev: 保存当前稳定并且最新的开发分支(多人开发同一分支)

2、辅助分支

主要用于新功能的并行开发、对生产代码的缺陷进行紧急修复工作。合并 master后应该立即删除
  ①用于开发新功能时所使用的feature分支
  ② 用于修正生产代码中的缺陷的bug分支

第三步、提交分支commit

当你完成代码需要提交的时候,可以选择单个文件提交或者提交所有的文件

#保存所有变化(包括新建、修改和删除)
$git add --all 或者 git add .
#查看变动的文件
$ git status
$ git commit -m "type:你的注释信息message"

第四步、经常与主干保持一致

#从主干上拉取不同
git fetch origin
#把本地未push的分叉提交历史整理成直线 要注意origin/master 的/不能少 
git rebase origin/master

第五步、推到远程仓库

#git push [-f] [<远端别名>] [<远端branch>]
git push [-f] origin master

大致git操作流程就是如上了

PS:常用操作命令

1、git reset commit_id  
回退到任何一个版本 commit_id可以不填全,Git可以根据前几位来回退到对应版本
2、git merge 冲突解决
3、git pull = git fetch + git merge 
4、git ls-files -s 查看冲突文件 
   0表示无逻辑
   1表示两个用户之前一个共同版本的对应文件内容;
   2表示当前用户对应的文件版本;
   3表示合并后的文件对应的远程版本
5、git status 查看当前状态
6、git branch --set-upstream-to=origin/dev kpi_181206
  Git在本地新建分支后,必须要做远程分支关联。关联目的是如果在本地分支下进行git pull 和 git push操作时 ,不需要指定在命令行指定远程的分支.
7、git push origin HEAD:dev   在当前工作分支上直接提交代码到远程分支dev
8、git commit --amend 撤销上一次提交 并将暂存区文件重新提交
9、git branch 查看当前分支
10、git branch -m old_branch new_branch 更改本地分支的名称
   git branch -m 在当前分支上修改名称
11、git branch -v 查看各个分支最后一个提交对象的信息
12、git branch --merged 查看哪些分支已被并入当前分支
13、git branch --no-merged 查看尚未合并的工作
14、git branch -d 删除该分支
15、git blame(查看文件的每个部分是谁修改的)
16、git log 显示提交日志
17、git remote show  显示远程仓库
18、git diff 查看未暂存的更新
19、git fetch 相当于是从远程获取最新版本到本地,不会自动merge
20、git branch branch_0.1 master 从主分支master创建branch_0.1分支
21、git rm [file name] 删除一个文件
22、git branch -d dev kpi_2018_12_01 删除本地库develop kpi_2018_12_01
23、git rm a.a 移除文件(从暂存区和工作区中删除)
24、git rm --cached a.a 移除文件(只从暂存区中删除)
25、#撤销操作
git reset <file>//某个文件索引会回滚到最后一次提交, C → B
git reset//索引会回滚到最后一次提交, C → B
git reset --hard // 索引会回滚到最后一次提交, C → B → A
26、git branch -r  查看远程分支
27、git checkout -- filename  取消对文件的修改
28、在Git中,默认是不会提交空目录的,如果想提交某个空目录到版本库中,需要在该目录下新建一个 .gitignore 的空白文件,就可以提交了

bug:

  1. 解决fatal: unable to connect to github.com问题 http://blog.csdn.net/greenqingqingws/article/details/11808745
    原因:
    需要用https才能读到数据
    解决方法:输入命令
    git config --global url.“https://”.insteadOf git://
    2、如果你已经初始化过了,但是不小心把邮箱和用户名输错了,那么就要修改了。我看到网上有人说继续$ git config --global user.name "输入你的用户名"或者 $ git config --global user.email “输入你的邮箱” 来修改邮箱和密码。我尝试了一下,会给出这样的错误:
warning: user.name has multiple values
error: cannot overwrite multiple values with a single value
       Use a regexp, --add or --replace-all to change user.name.

这边给出了–repalce-all 这个东西。
然后我尝试着用
$ git config --global --replace-all user.email “输入你的邮箱”
$ git config --global --replace-all user.name “输入你的用户名”

然后再查看下
$ git config --list
发现修改成功了。
3、全局变量的修改(vim ~/.gitconfig)
$HOME/.gitconfig 这个文件存储了git的全局设置,修改这个文件将会对当前用户的所有repo有影响。
局部的通过当前路径下的 .git/config文件来查看
我之前尝试
git config --global --add user.name “XXXXgrance”
git config --global --add user.email "[email protected]"
再看的时候的确是增加了新的一个用户,但是使用
git config user.email和 git config user.name查看的时候却只能看见一个用户和邮箱,不知道是否为当前用户。
最后还是通过修改配置文件来恢复原来的样子。
多用户配置难道就只能通过ssh来,不能通过http吗?
每个仓库的和本地都是需要建立联系的,当clone的时候就会建立联系,并且在配置中添加配置
remote.origin.url=http://118.17.10.128:4000/XXXX/XXX.git
remote.origin.fetch=+refs/heads/:refs/remotes/origin/

和指定仓库关联
当从目标远程仓库拉取完项目后,需要将本地的仓库和远程属于自己的仓库关联,那么只需要在本地创建好分支master和dev 并且推到远程你的仓库下,就可以将 本地仓库和远程 仓库联系起来。

先设置
git remote set-url origin  http://122.94.92.999:8080/XXXXXX/aas.git
后查看
git remote -v

接着创建分支(不写啦)

使用git push --set-upstream origin master(处于master分支时)
git push --set-upstream origin dev(处于dev分支时)

猜你喜欢

转载自blog.csdn.net/LCF_lxf_ldy/article/details/84861494
今日推荐